1

グリッドビュー コード:

<asp:GridView ID="gvVessel" runat="server" AutoGenerateColumns="false" GridLines="None"
     EmptyDataText="No Vessels found." OnRowCommand="gvVessel_RowCommand"      
     OnSelectedIndexChanged="gvVessel_SelectedIndexChanged" DataKeyNames="VesselID" >
<asp:/GridView>

コードビハインド:

protected void gvVessel_SelectedIndexChanged(object sender, EventArgs e)
{
    int index = Convert.ToInt16(gvVessel.SelectedDataKey.Value);
    Cache["index"] = index;

    Response.Redirect("VesselDraft.aspx");
}

イベントが起動しないのはなぜですか?

4

2 に答える 2

0

SO の質問の 1 つで示唆されているように、
GridView OnSelectedIndexChanged イベントが発生しません
Gridview selectedindex changed が最初のクリックで発生
しません gridview SelectedIndexChanged イベントが発生しません。私は asp.net 4.0 を使用しています。

の行をクリックしただけではGridView、イベントは発生しません。クリックする行にある種のボタンが必要です。これにより、RowCommandイベントと同様にイベントが発生しSelectedIndexChangedます (もちろん、クリックした行がまだ選択されていない場合)。Windows フォームの DataGridView とまったく同じではありません =)

イベントを発生させる最も簡単な方法は、この属性をGridViewマークアップに追加することです。

AutoGenerateSelectButton="True"

これにより、「Select」が作成され、クリックするとコードビハインドでイベントが発生しますLinkButtonGridview1_SelectedIndexChanged2

編集:明確にするために、これはその属性を追加する必要がある場所です:

<asp:GridView ID="GridView1" runat="server" GridLines="None" 
  Width="930px" CellPadding="4" ForeColor="#333333"  
  onselectedindexchanged="GridView1_SelectedIndexChanged2"
  AutoGenerateSelectButton="True" >
于 2013-02-19T04:41:56.117 に答える