VS2010
您好,我有一个网页,其中包含从数据库填充的 gridview。其中一个字段是复选框。我要做的是在单击复选框时更新数据库中的值。但是,我在该gvSiteInfo_CheckBoxUpdate()
方法中有一个断点,并且永远无法到达。
您能指出我正确的方向以使其正常工作吗?我在网上找到的几个例子似乎和我的一样。
下面是我的标记的缩写版本。
<asp:GridView ID="gvSiteInfo" runat="server"
AutoGenerateColumns="False" OnSorting="gvSiteInfo_Sorting"
AllowSorting="True">
<AlternatingRowStyle BackColor="#DCDCDC" />
<Columns>
<asp:BoundField DataField="prodHostHeader" HeaderText="Production Host Header"
SortExpression="prodHostHeader" />
<asp:BoundField DataField="prodDirectory" HeaderText="Production Directory"
SortExpression="prodDirectory" />
<asp:BoundField HeaderText="Active Issues" DataField="issueCount"
SortExpression="issueCount" />
<asp:TemplateField HeaderText="Testing Complete" SortExpression="true">
<ItemTemplate>
<asp:CheckBox ID="cbTestComplete" runat="server" CausesValidation="true" AutoPostBack="true" OnCheckedChanged="gvSiteInfo_CheckBoxUpdate"
Checked='<%# DataBinder.Eval(Container, "DataItem.testComplete").ToString().Equals("true") %>' />
</ItemTemplate>
<EditItemTemplate>
<asp:CheckBox ID="cbTestComplete" runat="server" CausesValidation="true" AutoPostBack="true" OnCheckedChanged="gvSiteInfo_CheckBoxUpdate"
Checked='<%# DataBinder.Eval(Container, "DataItem.testComplete").ToString().Equals("true") %>' />
</EditItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
这是应该调用的代码
public void gvSiteInfo_CheckBoxUpdate(object sender, EventArgs e)
{
SiteDB dbAccess = new SiteDB();
dbAccess.updateSiteInfo();
}
---------------EDIT---------------------------- 这是我的page_load代码
protected void Page_Load(object sender, EventArgs e){
SiteDB dataAccess = new SiteDB();
dataAccess.SelectedConnectionString = "WISQL01";
DataTable dt = dataAccess.getSiteInfo();
gvSiteInfo.DataSource = dt;
gvSiteInfo.DataBind();
}
- - - - - - -更新 - - - - - - - - - - - - - -
添加CausesValidation="true"
到<asp:checkbox>