2009-10-17 62 views
0

我的GridView控件綁定到列表檢索模板列的值,當用戶單擊刷新按鈕,如下所示:的GridView:在RowDeleting事件

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

我把<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]; 
} 

我怎麼會在retieve事件RowDeleting一個TemplateField內的價值?

非常感謝。

回答

2

TemplateField包含控件,因此應該通過它們訪問該值。例如,如果您在TemplateField中有標籤並且想要訪問其值,則可以編寫:

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