CommandArgument в сетке - PullRequest
       10

CommandArgument в сетке

10 голосов
/ 13 декабря 2011

У меня есть такой вид сетки.

<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>

Как мне получить OrderID выбранной строки. Я пытался использовать

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

Но это становится нулевым, и я знаю, что это не так. Помоги мне.

Заранее спасибо!

1 Ответ

22 голосов
/ 13 декабря 2011

попробуй вот так

 <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. 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...