我正在使用Visual Studio 2010和Visual Basic。在我的第一个网页上,我有一个gridview,每行都有一个按钮,用于打开一个新网页,并使用第一个网页的gridview行中的值填充字段,其中点击了按钮。除了一个复选框的字段外,工作正常。即使在第一页的gridview的行中选中了复选框,它仍会传递错误(或未选中)。
在原始网页上,我重定向复选框(我将删除应该在哪里的其余值...) - Response.Redirect(" TimeOffNoRequestEdit.aspx?.. 。+"& AllDay_YesNo =" + row.Cells(3).Text.ToString()...)
在新网页中,复选框的asp代码为:
<asp:CheckBox ID="CheckBox1" runat="server" />
在这个新网页的Page_Load上,我使用以下代码调用此值:
CheckBox1.Text = Request.QueryString("AllDay_YesNo")
当我调试它时,我总是将复选框显示为false,因此不会检查。
我很感激你能给我的任何帮助。如果您需要我发布我的所有代码,请告诉我。谢谢!
答案 0 :(得分:0)
看起来您没有正确访问该值。当前代码 row.Cells(3).Text.ToString()将获取单元格的文本,但这里我们要查找的内容是一个控件,即您的复选框。
我理所当然地认为你提供了正确的单元格索引,这个单元格只包含你的复选框。这里的想法是您需要获取实际的复选框才能到达Checked属性。
Ctype(row.Cells[3].Controls[0], CheckBox).Checked.ToString()
此外,当您使用第二页上的值时,请将代码更改为此行中的某些内容,因为此时您只是更改复选框的文本:
CheckBox1.Checked = Boolean.Parse(Request.QueryString("AllDay_YesNo"))