我的 asp.net 应用程序当前使用 Telerik RadGrid 来显示产品数据。在页面顶部,我有一个包含 4 个不同类别的下拉列表。根据用户选择的类别,网格中的复选框将被选中或不选中。该网站的 1500 种产品将始终显示在网格中,复选框将发生变化。
例如:产品 1 属于类别 A,因此如果用户单击下拉列表中的类别 B,则产品 1 旁边的复选框将被取消选中。检查的唯一方法是用户是否更改下拉列表以查看当前在类别 A 中的产品。
我很难弄清楚如何解决这个问题。第一,当前上下文中不存在 The name ProductInMarket' 这一行if (ProductInMarket.Checked = true) throws an error saying
。第二个问题是我无法弄清楚如何完成 UpdateMarket 方法。当您在编码过程中吃午饭时,就会发生这种情况。:/
这是我到目前为止所拥有的,我非常感谢这里的一些帮助。
<asp:DropDownList ID="MarketDropDownList" runat="server" AutoPostBack="true" OnSelectedIndexChanged="MarketDropDownList_SelectedIndexChanged" AppendDataBoundItems="true">
</asp:DropDownList>
<telerik:GridTemplateColumn AllowFiltering="true" HeaderText="Product ID" UniqueName="productid" ReadOnly="true">
<HeaderTemplate>
<asp:CheckBox ID="headerCheck" runat="server" onClick="javascript:SelectDeselectAllCheckboxes(this);" />
</HeaderTemplate>
<ItemTemplate>
<asp:Checkbox ID="ProductInMarket" runat="server" />
<asp:HiddenField runat="server" ID="ProductID" />
</ItemTemplate>
</telerik:GridTemplateColumn>
private void UpdateMarket(string MarketID)
{
//add products to market when checked
if (ProductInMarket.Checked = true)
{
string strConn = ConfigurationManager.ConnectionStrings["DBConnectingString"].ToString();
using (SqlConnection con = new SqlConnection(strConn))
{
using (SqlCommand cmd = new SqlCommand())
{
cmd.Connection = con;
cmd.CommandType = CommandType.Text;
cmd.CommandText = "UPDATE table SET ProductID = @ProductID WHERE MarketID = @MarketID";
}
}
}
}