【发布时间】: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.
提前致谢。正在寻找解决方案。
【问题讨论】: