我很难从 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 获取行号。