1
<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();
   }
 }

グリッドビューが空であるため、範囲外のエラー インデックスが表示されます。誰が何がうまくいかないのか考えていますか?グリッドビューが空になる理由。助けてください。

4

1 に答える 1

1

この行の問題

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

「row」の代わりに「grdrow」に言及しています。に変更してください

 ID = gvWorkshop.DataKeys[row.RowIndex]["workshopID"].ToString();
于 2013-08-15T09:25:16.703 に答える