将 gridview 的复选框值传递给另一个网页

Passing gridview's checkbox value to another webpage

我正在使用 Visual Studio 2010 和 Visual Basic。在我的第一个网页上,我有一个 gridview,每行都有一个按钮,可以打开一个新网页,并使用单击按钮的第一个网页的 gridview 行中的值填充字段。工作正常,除了一个字段是一个复选框。即使在第一页的 gridview 行中选中了复选框,它也会一直传递 false(或未选中)。

在原始网页上,我重定向了复选框(我将删除应该在...所在位置的其余值)- 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,因此未选中。

如果你能给我任何帮助,我将不胜感激。如果您需要我 post 我所有的代码,请告诉我。谢谢!

您似乎没有正确访问该值。当前代码 row.Cells(3).Text.ToString() 将获取单元格的文本,但这里我们要查找的内容是一个控件,即您的复选框。

我认为您提供了正确的单元格索引是理所当然的,并且此单元格只包含您的复选框。这里的想法是您需要获得实际的复选框才能到达 Checked 属性.

Ctype(row.Cells[3].Controls[0], CheckBox).Checked.ToString()

此外,当您使用第二页上的值时,将您的代码更改为这一行的内容,因为现在您只是更改复选框的文本:

CheckBox1.Checked = Boolean.Parse(Request.QueryString("AllDay_YesNo"))