Asp.Net GridView未被禁用

Asp.Net GridView未被禁用,asp.net,gridview,Asp.net,Gridview,在我的应用程序中,我使用了一个GridView,并通过以下代码向GridView添加了一个onlick属性 Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs) If e.Row.RowType = DataControlRowType.DataRow Then e.Row.Attributes("onclick") = Page.

在我的应用程序中,我使用了一个
GridView
,并通过以下代码向GridView添加了一个onlick属性

  Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs)


    If e.Row.RowType = DataControlRowType.DataRow Then
        e.Row.Attributes("onclick") = Page.ClientScript.GetPostBackClientHyperlink(GridView1, "Select$" & e.Row.RowIndex.ToString())
    End If
当有人在Grid视图中选择一行时,我希望GridView被禁用,并且不允许任何其他选择,除非用户按下按钮。我试着用

GridView1.Enabled=false

但用户仍然可以选择一行


如何禁用
GridView选择

由于您是通过上述代码选择一行,最简单的修复方法是检查所选索引是否不等于行数据绑定事件中的-1(表示已选择一行)

If GridView1.SelectedIndex = -1 Then
    If e.Row.RowType = DataControlRowType.DataRow Then
        e.Row.Attributes("onclick") = Page.ClientScript.GetPostBackClientHyperlink(GridView1, "Select$" + e.Row.RowIndex.ToString())
    End If
End If

要在单击按钮时重新附加选择代码,只需将selectedIndex设置为-1,然后在按钮单击事件中重新绑定gridview。

是否可以显示禁用网格所执行的代码?那是服务器端吗?您能调试并查看它是否被调用吗?试试这个,将网格放入
中并禁用面板。@DavidePiras我正在从服务器端调用它,代码正在被调用。@Furqan:尝试过,但仍然遇到同样的问题