【问题标题】:Get Column value 'TemplateField' of Each row in Button Click event获取按钮单击事件中每一行的列值“模板字段”
【发布时间】:2019-08-24 15:40:21
【问题描述】:

我使用 TemplateField 创建了一个网格视图。并添加了添加按钮,这会重定向到其他页面,我想获取行的一列值。

这里是代码 -

<Columns>
<asp:TemplateField HeaderText="Accession ID">
    <ItemTemplate>
        <asp:Label Text='<%# Eval("AccessionID") %>' runat="server"></asp:Label>
    </ItemTemplate>
    <EditItemTemplate>
      <asp:TextBox ID="txtFirstName" Text="Hello" runat="server" />
    </EditItemTemplate>
    <FooterTemplate>
       <asp:TextBox ID="txtFirstNameFooter" runat="server" />
    </FooterTemplate>
</asp:TemplateField>

......

<asp:TemplateField HeaderText="Add Container">
   <ItemTemplate>
      <asp:Button ID="btnAddContainer" runat="server" CommandName="" Text="Add Container" CommandArgument='<%# Eval("AccessionID") %>' OnClick="ContainerforAccession" class="btn btn-primary btn-md" />
   </ItemTemplate>
</asp:TemplateField>

CS 代码 -

protected void ContainerforAccession(object sender, EventArgs e)
{
   Button btn = (Button)sender;
   GridViewRow row = (GridViewRow)btn.NamingContainer;
}

我有这个代码。在我的情况下,我想在每次单击网格按钮时获取第一列值(AccessionID)。

我尝试过多种解决方案。但不幸的是,我们有 'asp:BoundField' 实现的答案。我正在寻找“asp:TemplateField”

如果我需要转换为 asp:BoundField,请告诉我。如果是这样,如何更改上述设计 - Binding Text=' to Textbox.

提前致谢。正在寻找解决方案。

【问题讨论】:

    标签: c# asp.net gridview


    【解决方案1】:

    将按钮的OnClick 更改为OnCommand。然后你就可以访问CommandEventArgs

    <asp:Button ID="btnAddContainer" OnCommand="ContainerforAccession" 
    
    protected void ContainerforAccession(object sender, CommandEventArgs e)
    {
        string AccessionID = e.CommandArgument.ToString();
    }
    

    【讨论】:

    • 感谢您的回复。不幸的是,我将 AccessionID 值设为 null
    【解决方案2】:

    将所有模板字段更改为 Bound-Fields 并在 cs 代码中 -

    int AccessionID = Int32.Parse((sender as Button).CommandArgument);
    

    解决了我的问题!

    【讨论】:

      猜你喜欢
      • 2016-02-13
      • 2013-04-21
      • 2014-04-09
      • 1970-01-01
      • 1970-01-01
      • 2015-11-04
      • 1970-01-01
      • 1970-01-01
      • 2016-05-15
      相关资源
      最近更新 更多