【问题标题】:Update Database From Grid View Checkbox从网格视图更新数据库复选框
【发布时间】:2016-04-29 10:53:22
【问题描述】:

我在一个网络表单上有一个网格视图,它有一个包含 id 的隐藏字段,我如何从 id 字段中捕获数据以在我的更新语句中使用?这就是我的语法的样子...
HTML

    <asp:GridView runat="server" ID="gridview2" AutoGenerateColumns="false" >
<Columns>
<asp:BoundField DataField="weekofyear" HeaderText="Week" />
<asp:BoundField DataField="supportname" HeaderText="Name" />
<asp:BoundField DataField="supid" HeaderText="SupportIDName" Visible="false"/>
<asp:TemplateField>
    <ItemTemplate>
        <asp:CheckBox ID="TicketCompleted" runat="server" AutoPostBack="true" OnCheckedChanged="TicketCompletedCompleted_Click" Checked='<%# Convert.ToBoolean(Eval("TicketCompleted")) %>' />
    </ItemTemplate>
</asp:TemplateField>
</Columns>

C#

protected void TicketCompleted_Click(object sender, EventArgs e)
{
foreach (GridViewRow row in dgRD.Rows)
{
    if (row.RowType == DataControlRowType.DataRow)
    {
        //Below captures the checkbox value (yes or no)
        CheckBox chk = (CheckBox)row.FindControl("TicketCompleted");                    
        if (chk.Checked)
        {
            //Here is where I will run the update
        }
    }
}

【问题讨论】:

  • 将隐藏字段更改为 ItemTemplate 并添加标签并将您的 id 绑定到标签;在后面的代码中找到该标签并获取值
  • @techspider。我跟着你,直到从 ItemTemplate 中找到值并使用 C# 获取值?

标签: c# asp.net checkbox webforms


【解决方案1】:

HTML:

<asp:BoundField DataField="weekofyear" HeaderText="Week" />
<asp:BoundField DataField="supportname" HeaderText="Name"  />
<%--<asp:BoundField DataField="supid" HeaderText="SupportIDName" Visible="false"/>--%>
<asp:TemplateField>
     <ItemTemplate>
          <asp:Label runat="server" Text='<%#Eval("supid") %>' ID="supid" Visible="false"></asp:Label>
     </ItemTemplate>
     <ItemTemplate>
           <asp:CheckBox ID="TicketCompleted" runat="server" AutoPostBack="true" OnCheckedChanged="TicketCompletedCompleted_Click" Checked='<%# Convert.ToBoolean(Eval("TicketCompleted")) %>' />
     </ItemTemplate>
</asp:TemplateField>

C#

CheckBox chk = (CheckBox)row.FindControl("TicketCompleted");
if (chk.Checked)
{
    string ID = ((Label)row.FindControl("supid")).Text;
}

【讨论】:

    猜你喜欢
    • 2014-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-16
    • 1970-01-01
    • 1970-01-01
    • 2012-07-05
    • 1970-01-01
    相关资源
    最近更新 更多