asp:buttonfield から JavaScript 確認ボックスを取得するのに苦労しています:
これはGridviewの元のコードですが、ボタンフィールドは「onClientClick」を受け入れないようです
<asp:GridView ID="gvNavios" runat="server" onrowcommand="gvNavios_RowCommand">
<Columns>
<asp:ButtonField runat="server" ButtonType="Button" Text="delete" CommandName="Eliminar" />
</Columns>
</asp:GridView>
そこで、代わりに asp:Linkbutton を試しました:
<asp:TemplateField HeaderText="Delete">
<ItemTemplate>
<asp:LinkButton ID="eliminar" CommandName="delete" runat="server" Text="delete"/>
</ItemTemplate>
</asp:TemplateField>
ただし、この方法では、 e.commandargument が入力されていないため、クリックされた行を取得できません
C# コード ビハインド:
protected void gvNavios_RowCommand(object sender, GridViewCommandEventArgs e)
{
string currentCommand = e.CommandName;
int currentRowIndex = Int32.Parse(e.CommandArgument.ToString());
string imo = gvNavios.Rows[currentRowIndex].Cells[3].Text;
if (currentCommand.Equals("delete"))
{
eliminarNavio(imo);
Response.Redirect(Request.RawUrl);
}
}
次のいずれかに感謝します: asp:button に javascript を挿入するか、linkbutton から行番号を取得します。