c# – 为什么我的复选框没有注册为已选中?
发布时间:2020-12-16 00:20:41 所属栏目:百科 来源:网络整理
导读:我一直在使用ASP.NET / C#中的GridView中的CheckBox列.完成后,此页面应显示我办公室的当前未结头寸.人们应该能够检查他们想要申请的多个职位,然后继续到下一个屏幕(实际申请开始的地方). 这是我单击“立即应用”按钮时运行的例程.在我尝试了我的老板和人们在
我一直在使用ASP.NET / C#中的GridView中的CheckBox列.完成后,此页面应显示我办公室的当前未结头寸.人们应该能够检查他们想要申请的多个职位,然后继续到下一个屏幕(实际申请开始的地方).
这是我单击“立即应用”按钮时运行的例程.在我尝试了我的老板和人们在这里提出的十几种其他组合后,我在这里找到了这个代码.当我运行它时,isChecked = false,因此它不会在if语句中运行任何内容.我错过了一些明显的东西吗 for (int i = GridView1.Rows.Count - 1; i > -1; i--) { GridViewRow row = GridView1.Rows[i]; bool isChecked = ((CheckBox)row.FindControl("cbx_apply")).Checked; if (isChecked) { try { Response.Write("Hello world"); PositionsAppliedFor.Add(Convert.ToInt32((GridView1.Rows[i].Cells[1].Text))); Session["SelectedPositionIDList"] = PositionsAppliedFor; } catch (Exception error) { Response.Write(error.Message); } } } 编辑:另外,我意识到我在if语句中所做的事情并不重要.我只是想让它做/某事/. ASP.NET: <asp:GridView ID="GridView1" runat="server" onselectedindexchanged="UpdateSelectedPostions"> <Columns> <asp:TemplateField> <ItemTemplate> <asp:CheckBox ID="cbx_apply" runat="server" OnCheckedChanged="UpdateSelectedPostions" AutoPostBack="false"/> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> 很简单,也许很遗憾.我是/非常/新的ASP.NET. 这是我加载网格数据并绑定它的地方: string sqlstatement = "SELECT * FROM dbo.POSITION WHERE PositionStartDate < GETDATE() AND PositionEndDate > GETDATE()"; command = new SqlCommand(sqlstatement,connection); ds = new DataSet(); adapter = new SqlDataAdapter(command); builder = new SqlCommandBuilder(adapter); adapter.Fill(ds); GridView1.DataSource = ds.Tables[0]; GridView1.DataBind(); connection.Close(); 希望这已经足够了,因为它真的是我所拥有的一切.我还没有在页面上添加任何其他内容 – 只是试图让这些愚蠢的复选框与我同意. 解决方法
确保您的绑定代码在这样的块中:
if (!Page.IsPostBack) { } 否则,您将重新创建每个回发的复选框,因此会丢失它们被检查的事实. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |