我在 ASP.NET 中有一个 GridView,在这个 GridView 的一列内我有以下控件:
<asp:TemplateField>
<ItemTemplate>
<input id='<%#Eval("po_asn_number") %>' class="css-checkbox" type="checkbox" />
<label for='<%#Eval("po_asn_number") %>' name="lbl_1" class="css-label"></label>
<asp:HiddenField ID="poid" runat="server" Value='<%#Eval("po_asn_number") %>' />
</ItemTemplate>
</asp:TemplateField>
这是我在后面的代码中的 OnClick 事件。
protected void create_Click(object sender, EventArgs e)
{
foreach (GridViewRow gvr in GridView1.Rows)
{
HiddenField poid = ((HiddenField)gvr.Cells[0].FindControl("poid"));
if (((HtmlInputCheckBox)gvr.FindControl(poid.Value)).Checked == true)
{
Response.Redirect("ShipmentDetail.aspx?id=" + poid.Value);
}
else
{
//Do nothing
}
}
}
我首先在这里尝试做的是,我寻找一个 HiddenField ,它的值是<input type="checkbox" />
. 然后我正在检查是否checkbox
已检查。如果是那么做点别的什么都不做。
单击按钮时出现错误:
Object reference not set to an instance of an object
Line 48: if (((HtmlInputCheckBox)gvr.FindControl(checkbox)).Checked == true)
Line 49: {
Line 50: Response.Redirect("ShipmentDetail.aspx?id=" + poid.Value);
您可以提供的任何帮助将不胜感激。