asp.net 翻页时用ViewState保存上一页checkbox勾选的值

/// <summary>
        /// checkbox勾选取消勾选事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void checkboxl_OnCheckedChanged(Object sender, EventArgs e)
        {
            string tempValue = string.Empty;//拼接联合主键的临时变量
            var checkbox = sender as CheckBox;
            GridViewRow row = (GridViewRow)checkbox.NamingContainer;//获取行属性
            Label lbSNo = (Label)row.FindControl("SNo");
            Label lbItemNo = (Label)row.FindControl("ItemNo");

if (checkbox.Checked)//勾选
            {
                ViewState["retuvalue"] += lbSNo.Text.ToString() + "," + lbItemNo.Text + ";";
            }
            else//取消勾选
            {
                //当取消勾选时,将ViewState["retuvalue"]转成集合,去移除ViewState["retuvalue"]中的项
                List<string> templist = ViewState["retuvalue"].ToString().TrimEnd(‘;‘).Split(‘;‘).ToList();
                for (int i = 0; i < templist.Count; i++)
                {
                    if (templist[i].ToString() == lbSNo.Text.ToString() + "," + lbItemNo.Text)
                    {
                        templist.Remove(templist[i]);
                        i--;
                        continue;
                    }
                        tempValue += templist[i] + ";";//再次拼接
                }
                ViewState["retuvalue"] = tempValue;

}
        }

//航绑定事件
        protected void gvData_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (ViewState["retuvalue"] != null)
                if (e.Row.RowType == DataControlRowType.DataRow)
                {
                    CheckBox check = (CheckBox)e.Row.Cells[10].FindControl("checkboxl");
                    //拿到两个主键拼接到string中
                    Label lbSNo = (Label)e.Row.FindControl("SNo");
                    Label lbItemNo = (Label)e.Row.FindControl("ItemNo");
                    if (ViewState["retuvalue"].ToString().TrimEnd(‘;‘).Contains(lbSNo.Text.ToString() + "," + lbItemNo.Text))
                    {
                        check.Checked = true;
                    }
                }
        }

asp.net 翻页时用ViewState保存上一页checkbox勾选的值

时间: 2024-12-19 18:40:20

asp.net 翻页时用ViewState保存上一页checkbox勾选的值的相关文章

asp.net页面后退,重复弹出上一页对话框处理办法

我们在实例中,虽然页面内有导航,但是用户使用的时候难免会使用浏览器的后退按钮. 时常会发现,当后退的时候,上一页的对话框会自动弹出,下面是解决办法. 问题:使用此js代码,后退按钮时,重复显示对话框内容 ClientScript.RegisterClientScriptBlock(GetTypr(),"alert('不能重复提交');",true); 解决办法: ClientScript.RegisterClientScriptBlock(GetTypr(),"alert('

C# 翻页设计:首页,上一页,下一页,末页 ,跳转

int pageSize = 0; //每页显示行数 int nMax = 0; //总记录数 int pageCount = 0; //页数=总记录数/每页显示行数 int pageCurrent = 0; //当前页号 int nCurrent = 0; //当前记录行 private void Bind() { //td = um.dataAll(); pageSize = 30; //设置页面行数 nMax = td.Rows.Count; pageCount = (nMax / pag

返回上一页并刷新与返回上一页不刷新代码

返回上一页并刷新: <script> function back() { window.location.href=document.referrer; } </script> 返回上一页不刷新代码: <script> function back() { window.history.back(-1); } </script>

记:ASP.NET Core开发时部署到IIS上出现HTTP Error 502.5 - Process Failure的解决方案

HTTP Error 502.5 - Process Failure Common causes of this issue: The application process failed to start The application process started but then stopped The application process started but failed to listen on the configured port Troubleshooting steps

php javascript 返回上一页并刷新和 返回上一页不刷新

js: 返回并刷新 <script>alert("恭喜您,操作成功!"); window.location.href=document.referrer; </script> 返回不刷新 <script>alert("恭喜您,操作成功!"); window.history.back(-1); </script> php 返回并刷新 javascript:window.location.href=document.ref

返回上一页时,保存恢复浏览记录(模拟返回不刷新)

sessionStorage: 与 localStorage 相似,不同之处在于 localStorage 里面存储的数据没有过期时间设置,而存储在 sessionStorage 里面的数据在页面会话结束时会被清除.页面会话在浏览器打开期间一直保持,并且重新加载或恢复页面仍会保持原来的页面会话.在新标签或窗口打开一个页面会初始化一个新的会话. 大致思路: 用户在点击新的链接时,保存上一页的信息(包括页码.滚轮位置.页面标识符等,建议保存于sessionStorage): 在打开上一页时先做判断,

返回上一页代码区别:

window.history.go(-1);  //返回上一页 window.history.back();  //返回上一页 replace 方法,该方法通过指定URL替换当前缓存在历史里(客户端)的项目,因此当使用replace方法之后,你不能通过"前进"和"后退"来访问已经被替换的URL. 语法: location.replace(URL) 在 实际应用的时候,重新刷新页面的时候,我们通常使用: location.reload() 或者是 history.go

上一页 下一页

sessionStorage.removeItem('times'); var ding_pageSize = 10;//切换每页显示条数 function exportExcle(url){ $.ajax({ 'type':'get', 'url':url, "dataType":'json', "data":{ }, "traditional" : true, success:function(myData){ // myData = JSO

javascript返回上一页的三种写法

window.history.go(-1);  //返回上一页 window.history.back();  //返回上一页 window.location.go(-1); //刷新上一页 window.history.back();location.reload();//强行刷新(返回上一页刷新页面) <input type="button"name="back" value="返回"onClick="javascript:h