大神哥哥 本帖最后由 zhoucc910311 于 2015-01-17 09:49:21 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以啊~直接设置元素属性,分页用隐藏hidden完成(.style.display="";),选择用.checked 不到问的什么问题,如果是分页后原来勾选的还是勾选的,你要通过get传参到下一页,自己再服务器端获取参数设置checkbox的checked属性或者js分析location.search获取相关数据后执行勾选都行 还可以使用cookie记录选中的,翻页回来的时候,进行选中 这是个asp.net的例子<%@ Page Language="C#" Debug="false" %><%@ Import Namespace="System.Data" %><%@ Import Namespace="System.Data.OleDb" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server"> String Articles = String.Empty; protected void Page_Load(object sender, EventArgs e) { if (Request.Cookies["ArticleId"]!=null) Articles = Request.Cookies["ArticleId"].Value; Articles = Server.UrlDecode(Articles); string xlsConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|MengxianHui.mdb"; OleDbConnection cn = new OleDbConnection(xlsConnStr); cn.Open(); String sql = "SELECT Count(*) FROM [Document]"; OleDbCommand cmd = new OleDbCommand(sql, cn); // 总的记录数 int TotalCount = Convert.ToInt32(cmd.ExecuteScalar()); //当前页的序号 int PageIndex = 1; String page = Request.QueryString["Page"]; if (page == null) page = "1"; if (!Int32.TryParse(page, out PageIndex)) PageIndex = 1; if (PageIndex < 1) PageIndex = 1; //每页显示的数量 int PageItem = 5; int startRecord = (PageIndex - 1) * PageItem; sql = "SELECT [ArticleId],[Title],[CreateDate],[Author] FROM [Document] Order By [ArticleId] DESC"; OleDbDataAdapter da = new OleDbDataAdapter(sql, cn); DataSet ds = new DataSet(); da.Fill(ds, startRecord, PageItem, "Document"); GridView1.DataSource = ds.Tables[0].DefaultView; GridView1.DataBind(); BuildPagers(TotalCount, PageIndex, PageItem); cn.Dispose(); } private void BuildPagers(int TotalCountRecord, int CurrentPage, int PageItem) { int Step = 6; int LeftNum = 0; int RightNum = 0; String PageUrl = "?"; int PageCount = (int)Math.Ceiling((double)(TotalCountRecord) / PageItem); if (CurrentPage - Step < 1) { LeftNum = 1; } else { LeftNum = CurrentPage - Step; } if (CurrentPage + Step > PageCount) { RightNum = PageCount; } else { RightNum = CurrentPage + Step; } string OutPut = ""; for (int i = LeftNum; i <= RightNum; i++) { if (i == CurrentPage) { OutPut += "<span style='color:red'>" + i.ToString() + "</span> "; } else { OutPut += "<a href=\"" + PageUrl + "Page=" + i.ToString() + "\">" + i.ToString() + "</a> "; } } if (CurrentPage > 1) { OutPut = "<a href='" + PageUrl + "Page=1'>首页</a> <a href=\"" + PageUrl + "Page=" + (CurrentPage - 1) + "\">上一页</a> " + OutPut; } if (CurrentPage < PageCount) { OutPut += " <a href=\"" + PageUrl + "Page=" + (CurrentPage + 1) + "\">下一页</a> <a href='" + PageUrl + "Page=" + PageCount + "'>末页</a>"; } Pager.InnerHtml = OutPut; } protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { String CurrentArticleId = DataBinder.Eval(e.Row.DataItem, "ArticleId").ToString(); CheckBox ArticleId = e.Row.FindControl("ArticleId") as CheckBox; ArticleId.Attributes.Add("onclick", "SetArticleId(this," + CurrentArticleId + ")"); if (Articles.IndexOf("|" + CurrentArticleId + "|") > -1) { ArticleId.Checked = true; } } } protected void Button1_Click(object sender, EventArgs e) { String[] ids = Articles.Split('|'); for (int i = 0; i < ids.Length; i++) { if (!ids[i].Trim().Equals(String.Empty)) { Response.Write("<li>" + ids[i]); } } }</script><html xmlns="http://www.w3.org/1999/xhtml"><head id="Head1" runat="server"> <title>GET 方式实现 GridView 跨页面多选</title> <script type="text/javascript"> function SetArticleId(o, i) { if (o.checked) { AddCookie(i) } else { RemoveCookie(i) } } function SetCookie(name, value) { document.cookie = name + "=" + escape(value); } function GetCookie(name) { if (document.cookie.length > 0) { c_start = document.cookie.indexOf(name + "="); if (c_start != -1) { c_start = c_start + name.length + 1; c_end = document.cookie.indexOf(";", c_start); if (c_end == -1) c_end = document.cookie.length; return unescape(document.cookie.substring(c_start, c_end)); } } return ""; } function AddCookie(i) { d = GetCookie("ArticleId"); if (d == "") d = "|"; if (d.indexOf("|" + i + "|") == -1) { d += i + "|"; SetCookie("ArticleId", d); } } function RemoveCookie(i) { d = GetCookie("ArticleId"); var reg = new RegExp("\\|" + i + "\\|"); if (reg.test(d)) { d = d.replace(reg, "|"); SetCookie("ArticleId", d); } } </script></head><body> <form id="form1" runat="server"> <asp:GridView ID="GridView1" runat="server" CellPadding="6" ShowHeader="false" OnRowDataBound="GridView1_RowDataBound"> <Columns> <asp:TemplateField> <ItemTemplate> <asp:CheckBox ID="ArticleId" runat="server" /></ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> <div id="Pager" runat="server"></div> <asp:Button ID="Button1" runat="server" Text="查看所选择的ID" onclick="Button1_Click" /> </form></body></html> 免费 虚拟空间 去广告 jquery if div1是show,那么<a>不能被click或者click无效,该怎么写,求助 选项卡js扩展修改,如何将"selected"设定为变量? 求一“以星号结尾”javascript正则表达式 iframe刷新父页面局部对象 错误:‘document.form'为空或不是对象代码:0 URL:http://localhost:3065/sytem@@/text.asp?id=2 层显示图片问题 js 动态添加删除div 如何关闭自身窗口? 如何用鼠标直接调整表格宽度~~ checkbox 提交表格 无法获取到系统时间,明明代码就是对的
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server"> String Articles = String.Empty;
protected void Page_Load(object sender, EventArgs e)
{
if (Request.Cookies["ArticleId"]!=null) Articles = Request.Cookies["ArticleId"].Value;
Articles = Server.UrlDecode(Articles);
string xlsConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|MengxianHui.mdb";
OleDbConnection cn = new OleDbConnection(xlsConnStr);
cn.Open();
String sql = "SELECT Count(*) FROM [Document]";
OleDbCommand cmd = new OleDbCommand(sql, cn); // 总的记录数
int TotalCount = Convert.ToInt32(cmd.ExecuteScalar()); //当前页的序号
int PageIndex = 1;
String page = Request.QueryString["Page"];
if (page == null) page = "1";
if (!Int32.TryParse(page, out PageIndex)) PageIndex = 1;
if (PageIndex < 1) PageIndex = 1; //每页显示的数量
int PageItem = 5;
int startRecord = (PageIndex - 1) * PageItem; sql = "SELECT [ArticleId],[Title],[CreateDate],[Author] FROM [Document] Order By [ArticleId] DESC";
OleDbDataAdapter da = new OleDbDataAdapter(sql, cn);
DataSet ds = new DataSet();
da.Fill(ds, startRecord, PageItem, "Document"); GridView1.DataSource = ds.Tables[0].DefaultView;
GridView1.DataBind(); BuildPagers(TotalCount, PageIndex, PageItem);
cn.Dispose();
} private void BuildPagers(int TotalCountRecord, int CurrentPage, int PageItem)
{
int Step = 6;
int LeftNum = 0;
int RightNum = 0;
String PageUrl = "?";
int PageCount = (int)Math.Ceiling((double)(TotalCountRecord) / PageItem);
if (CurrentPage - Step < 1)
{
LeftNum = 1;
}
else
{
LeftNum = CurrentPage - Step;
} if (CurrentPage + Step > PageCount)
{
RightNum = PageCount;
}
else
{
RightNum = CurrentPage + Step;
}
string OutPut = "";
for (int i = LeftNum; i <= RightNum; i++)
{
if (i == CurrentPage)
{
OutPut += "<span style='color:red'>" + i.ToString() + "</span> ";
}
else
{
OutPut += "<a href=\"" + PageUrl + "Page=" + i.ToString() + "\">" + i.ToString() + "</a> ";
}
}
if (CurrentPage > 1)
{
OutPut = "<a href='" + PageUrl + "Page=1'>首页</a> <a href=\"" + PageUrl + "Page=" + (CurrentPage - 1) + "\">上一页</a> " + OutPut;
} if (CurrentPage < PageCount)
{
OutPut += " <a href=\"" + PageUrl + "Page=" + (CurrentPage + 1) + "\">下一页</a> <a href='" + PageUrl + "Page=" + PageCount + "'>末页</a>";
}
Pager.InnerHtml = OutPut;
} protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
String CurrentArticleId = DataBinder.Eval(e.Row.DataItem, "ArticleId").ToString();
CheckBox ArticleId = e.Row.FindControl("ArticleId") as CheckBox;
ArticleId.Attributes.Add("onclick", "SetArticleId(this," + CurrentArticleId + ")");
if (Articles.IndexOf("|" + CurrentArticleId + "|") > -1)
{
ArticleId.Checked = true;
}
}
} protected void Button1_Click(object sender, EventArgs e)
{
String[] ids = Articles.Split('|');
for (int i = 0; i < ids.Length; i++)
{
if (!ids[i].Trim().Equals(String.Empty))
{
Response.Write("<li>" + ids[i]);
}
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>GET 方式实现 GridView 跨页面多选</title>
<script type="text/javascript">
function SetArticleId(o, i) {
if (o.checked) {
AddCookie(i)
}
else {
RemoveCookie(i)
}
}
function SetCookie(name, value) {
document.cookie = name + "=" + escape(value);
}
function GetCookie(name) {
if (document.cookie.length > 0) {
c_start = document.cookie.indexOf(name + "=");
if (c_start != -1) {
c_start = c_start + name.length + 1;
c_end = document.cookie.indexOf(";", c_start);
if (c_end == -1) c_end = document.cookie.length;
return unescape(document.cookie.substring(c_start, c_end));
}
}
return "";
}
function AddCookie(i) {
d = GetCookie("ArticleId");
if (d == "") d = "|";
if (d.indexOf("|" + i + "|") == -1) {
d += i + "|";
SetCookie("ArticleId", d);
}
} function RemoveCookie(i) {
d = GetCookie("ArticleId");
var reg = new RegExp("\\|" + i + "\\|");
if (reg.test(d)) {
d = d.replace(reg, "|");
SetCookie("ArticleId", d);
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:GridView ID="GridView1" runat="server" CellPadding="6"
ShowHeader="false" OnRowDataBound="GridView1_RowDataBound">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="ArticleId" runat="server" /></ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<div id="Pager" runat="server"></div>
<asp:Button ID="Button1" runat="server" Text="查看所选择的ID"
onclick="Button1_Click" />
</form>
</body>
</html>