Gridview RowCommand触发了gridview没有数据

时间:2013-08-15 09:12:16

标签: c# asp.net c#-4.0 gridview

<asp:GridView ID="gvWorkshop" runat="server" 
              AllowCustomPaging="True" AllowPaging="True"
              BorderStyle="Solid" BorderWidth="1px" 
              AllowSorting="True" AutoGenerateColumns="False"
              DataKeyNames="ID, ctrycode" OnRowCommand="gvWorkshop_onRowCommand">
        <Columns>
            <asp:ButtonField CommandName="Select" Text="Select" />
            <asp:BoundField DataField="paddress" HeaderText="Address" />
        </Columns>
 </asp:GridView>

背后的代码

 protected void gvWorkshop_onRowCommand(object sender, GridViewCommandEventArgs e)
 {
   int index;
   string ID;
   GridViewRow row;
   if(e.CommandName == "Edit")
   {
      index = Convert.ToInt32(e.CommandArgument);
      row = gvWorkshop.Rows[index];
      ID = gvWorkshop.DataKeys[grdrow.RowIndex]["workshopID"].ToString();
   }
 }

我的错误索引超出范围,因为gridview为空。任何人都有想法什么出错?为什么gridview变空了。请帮忙。

1 个答案:

答案 0 :(得分:1)

这一行的问题

ID = gvWorkshop.DataKeys[grdrow.RowIndex]["workshopID"].ToString();

你提到“grdrow”代替“row”。请将其更改为

 ID = gvWorkshop.DataKeys[row.RowIndex]["workshopID"].ToString();