2011-12-13 33 views
9

Tôi có chế độ xem lưới như thế này.CommandArgument trong Gridview

<asp:GridView ID="grdMerchant" runat="server" GridLines="None" 
    HeaderStyle-Font-Bold="True" AutoGenerateColumns="False" AllowSorting="True" ShowHeader="false" OnRowDataBound="grdMerchant_RowDataBound" OnRowCommand="grdMerchant_RowCommand" DataKeyNames="OrderID" style="table-layout:auto;width:100%;" > 


<asp:TemplateField > 
<ItemTemplate> 
    <asp:Linkbutton ID= "btnView" runat="server" Text="View" OnClick="btnView_OnClick" CommandArgument='<%#Eval("OrderID")%>' ></asp:Linkbutton> 

Làm thế nào để tôi có để có được những OrderID của hàng đã chọn. Tôi đã thử sử dụng

int OrderID = (int)grdMerchant.DataKeys[row.RowIndex][2]; 

Nhưng nó vô ích và tôi biết đây không phải là cách. Giúp tôi.

Cảm ơn bạn trước!

Trả lời

20

thử như thế này

<asp:GridView ID="grd1" runat="Server" width="500px" AutoGenerateColumns="false" DataKeyNames="StateID" OnRowEditing="grd1_RowEditing"> 
    <Columns> 
     <asp:TemplateField> 
       <ItemTemplate> 
         <asp:LinkButton ID="btnDelete" runat="server" CommandArgument='<%#Eval("StateID")%>' OnCommand="lnkDelete" Text="Delete"> 
         </asp:LinkButton> 
       </ItemTemplate> 
     </asp:TemplateField> 
    </Columns> 

protected void lnkDelete(Object sender, CommandEventArgs e) 
{ 
    int iStID=int32.Parse(e.CommandArgument.ToString()); 
} 

//iStID has the DataKey value which you can use. 
Các vấn đề liên quan