グリッドビューでボタン (btn_goToPoint) をクリックしても傍受されません。負荷はありますが、リダイレクトは機能しません。バック コード (grd_points_rowCommand) にブレークポイントを配置すると、そこでコードが実行されません。ボタンをクリックする前に、「EnableEventValidation =" false "」で解決したエラーが発生しました。アプリケーションの他のページでまったく同じものを使用し、機能するため、問題は見つかりません。
<asp:GridView ID="grd_points" runat="server" CssClass="mydatagrid" PagerStyle-CssClass="pager"
HeaderStyle-CssClass="header" RowStyle-CssClass="rows"
AutoGenerateColumns="False" DataKeyNames="POI_id"
DataSourceID="ERP_pointsByQuestion"
OnRowDataBound = "grd_points_RowDataBound"
OnRowCommand="grd_points_RowCommand">
<Columns>
<asp:BoundField DataField="POI_id" HeaderText="Num." ReadOnly="True"
SortExpression="POI_id" />
<asp:BoundField DataField="POI_situation" HeaderText="Situation"
SortExpression="POI_situation" />
<asp:BoundField DataField="c_evalPoint" HeaderText="Eval."
SortExpression="c_evalPoint" />
<asp:BoundField DataField="EVA_couleur" HeaderText="Couleur"
SortExpression="EVA_couleur" />
<asp:BoundField DataField="USE_cdsid" HeaderText="Responsable"
SortExpression="USE_cdsid" />
<asp:BoundField DataField="POI_dateRevision" HeaderText="Date Révision"
SortExpression="POI_dateRevision" />
<asp:TemplateField>
<ItemTemplate>
<asp:Button class="btn btn-primary" ID="btn_goToPoint" runat="server"
CommandName="goToPoint"
CommandArgument="<%# ((GridViewRow) Container).RowIndex %>"
Text="►" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
そしてバックコード:
protected void grd_points_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "goToPoint")
{
int index = Convert.ToInt32(e.CommandArgument);
GridViewRow row = grd_points.Rows[index];
string value = row.Cells[0].Text;
Response.Redirect("gest_point.aspx?point=" + value);
}
}