12 Stimmen

CommandArgument in der Rasteransicht

Ich habe eine Gitteransicht wie diese.

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

Wie muss ich die OrderID der ausgewählten Zeile erhalten. Ich habe versucht, mit

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

Aber es wird nichtig und ich weiß, dass dies nicht der richtige Weg ist. Helfen Sie mir.

Vielen Dank im Voraus!

24voto

Glory Raj Punkte 17039

Versuchen Sie es auf diese Weise

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X