【问题标题】:CommandArgument in the GridviewGridview 中的 CommandArgument
【发布时间】:2012-01-19 14:34:56
【问题描述】:

我有一个这样的网格视图。

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

但它会变为空,我知道这不是办法。帮我。

提前谢谢你!

【问题讨论】:

    标签: c# asp.net gridview


    【解决方案1】:

    这样试试

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

    【讨论】:

      猜你喜欢
      • 2012-06-19
      • 2010-09-28
      • 1970-01-01
      • 2012-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-07
      相关资源
      最近更新 更多