GridView:SelectedIndexChanged事件在firefox中的RowDeleting事件之前触发

时间:2016-09-28 09:25:04

标签: c# asp.net firefox gridview

我将这个构造用于AutoGenerateDeleteButtontrue的网格视图以及这样的几个事件:

<asp:GridView runat="server" ID="grdViewOrders" AutoGenerateDeleteButton="true" OnRowDeleting="grdViewOrders_RowDeleting" AutoGenerateSelectButton="False" OnSelectedIndexChanged="grdViewOrders_SelectedIndexChanged" OnRowDataBound="grdViewOrders_RowDataBound"></asp:GridView>

我添加了几条jQuery行,使超链接显示一个glyphicon而不是“delete”文本。

渲染: Rendered Gridview as viewed in developer tools

在没有实际选择超链接的情况下添加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),在条目旁边放置一个按钮会更容易。

提前致谢...!

0 个答案:

没有答案