我将这个构造用于AutoGenerateDeleteButton
到true
的网格视图以及这样的几个事件:
<asp:GridView runat="server" ID="grdViewOrders" AutoGenerateDeleteButton="true" OnRowDeleting="grdViewOrders_RowDeleting" AutoGenerateSelectButton="False" OnSelectedIndexChanged="grdViewOrders_SelectedIndexChanged" OnRowDataBound="grdViewOrders_RowDataBound"></asp:GridView>
我添加了几条jQuery行,使超链接显示一个glyphicon而不是“delete”文本。
在没有实际选择超链接的情况下添加Select
功能的代码。:
protected void grdViewOrders_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Attributes["onclick"] = Page.ClientScript.GetPostBackClientHyperlink(grdViewOrders, "Select$" + e.Row.RowIndex);
e.Row.Attributes["style"] = "cursor:pointer";
}
}
按下Delete
超链接
protected void grdViewOrders_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
//Get Row id and run Delete Query
}
所有工作都很好,除了在Firefox上。
在firefox上单击Delete
超链接会触发SelectedIndexChanged
事件而不是RowDeleting
事件。单击该行也会触发SelectedIndexChanged
事件。
firefox是否未能检测到超链接的功能或我不知道的内容,但我希望各个功能在其他浏览器上发生时触发......
替代方案是让用户选择输入拳头然后在其他地方显示删除按钮并具有隐藏字段以知道用户选择了哪一行。但是对于用户(使用firefox),在条目旁边放置一个按钮会更容易。
提前致谢...!