こんにちは、次のように定義された DataGrid があります。
<asp:DataGrid ID="DG_XYZ" runat="server" DataKeyField="id" OnItemCommand="DG_XYZ_ItemCommand"> ....
今、私はDG_XYZ_ItemCommandメソッドで、これをやろうとしています:
int id = Convert.ToInt32(DG_XYZ.DataKeys[e.Item.ItemIndex].ToString();
e.Item.ItemIndex が -1 であるため、たとえばページング時にエラーが発生します。質問はなぜですか?メソッドは次のようになります。
protected void DG_XYZ_ItemCommand(object sender, DataGridCommandEventArgs e)
{
int id = Convert.ToInt32(DG_XYZ.DataKeys[e.Item.ItemIndex].ToString();
...
}
ここで何が問題なのですか?ありがとう :)。