GridView:在RowDeleting事件中检索TemplateField的值

时间:2009-10-17 08:36:21

标签: asp.net

当用户点击刷新按钮时,我的gridview绑定到List,如下所示:

grv_xyz.DataSource = lstVendorInfo;
grv_zyz.DataBind();

我在所有其他TemplateFields之前放置<asp:CommandField HeaderText="Delete" ShowDeleteButton="True" ShowHeader="True" />来显示

之类的数据
<Columns>
<asp:CommandField HeaderText="Delete" ShowDeleteButton="True" ShowHeader="True" />

<asp:TemplateField HeaderText="Vendor ID">
                    <ItemStyle Width="10%" BorderColor="#efefef" BorderWidth="1px"/>
                    <ItemTemplate>
                        <asp:HyperLink NavigateUrl="#" ID="abcID" runat="server" Text='<%# Bind("abc") %>'></asp:HyperLink>
                    </ItemTemplate>
                    <HeaderStyle BorderColor="#efefef" />
</asp:TemplateField>
</Columns>

问题是细胞。以下文本属性为""

protected void grv_Vendor_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
    ShowResult();
    TableCell cell = grv_Vendor.Rows[e.RowIndex].Cells[4];
}

如何在RowDeleting事件中解析TemplateField中的值?

非常感谢。

1 个答案:

答案 0 :(得分:2)

TemplateField包含控件,因此应通过它们访问值。例如,如果您在TemplateField中有标签并且想要访问其值,则可以写:

Label yourLabel = e.Item.FindControl("YourLabelID") as Label;
string val = yourLabel.Text;