【问题标题】:Gridview not detecting checkboxes being checkedGridview 未检测到被选中的复选框
【发布时间】:2015-11-30 04:45:39
【问题描述】:

我想要做的是在网格视图中的复选框被选中时执行一些代码,代码被逐行执行。我调试了代码,尽管检查了复选框,但每次都返回 false。如果删除了条件语句,我尝试执行的代码将起作用。

protected void ShoppingCartButton_Click(object sender, EventArgs e)
{
    Label1.Text = "HIH0HI";

    OleDbConnection myconn = new OleDbConnection();
        myconn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|ProjectDatabase.accdb";

    string UserID = Session["UserID"].ToString();
    StringBuilder sb3 = new StringBuilder();
    foreach (GridViewRow row in GridView1.Rows)
    {
        string unpredictable = "";
        bool hi = true;
        unpredictable = row.Cells[1].Text;
        CheckBox chk = row.Cells[0].Controls[1] as CheckBox;
        hi = chk.Checked;
        sb3.Append(hi.ToString());
        if (hi==true)
        {
            string command1 = "insert into Cart ([Username],[GameID]) values (@Username, @GameID)";

            OleDbCommand cmd = new OleDbCommand(command1, myconn);
            cmd.Parameters.AddWithValue("@Username", UserID);
            cmd.Parameters.AddWithValue("@GameID", unpredictable);
            myconn.Open();
            cmd.ExecuteNonQuery();
            myconn.Close();
        }
    }
    Label1.Text =  sb3.ToString();
}

按钮和网格视图的标记

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="True" EmptyDataText ="Data Entry Error">
    <Columns>
         <asp:TemplateField HeaderText ="Add to Cart?">
             <ItemTemplate>
                 <asp:CheckBox ID="checkbx" runat="server" />
             </ItemTemplate>
          </asp:TemplateField>
    </Columns>
</asp:GridView>
<asp:Button runat="server" id="ShoppingCartButton" Text="Add to     shopping cart" OnClick="ShoppingCartButton_Click" />  

【问题讨论】:

  • 您确定要让所有这些逻辑发生在服务器端吗?在客户端运行复选框逻辑而不是要求完整的回发不是更有意义吗?
  • 您可以尝试绑定到 OnCheckedChanged 事件并将标志属性放在类级别。在这里阅读:msdn.microsoft.com/en-us/library/…

标签: c# asp.net gridview checkbox


【解决方案1】:

这是一个简单的。必须将任何数据绑定逻辑包含在 if (!IsPostBack)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-15
    • 1970-01-01
    • 2014-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多