簡體   English   中英

通過GridView ASP.NET禁用單擊事件

[英]Disable click event over GridView ASP.NET

我正在使用通過此方法可單擊的GridView在ASP.NET上工作:

protected void OnRowDataBound(object sender, System.Web.UI.WebControls.GridViewRowEventArgs e)
    {
        GridView gr = (GridView)sender;
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            e.Row.Attributes["onmouseover"] = "this.style.cursor='hand';this.style.background='#3260a0';;this.style.color='white'";
            e.Row.Attributes["onmouseout"]  = "this.style.textDecoration='none';this.style.background='white';this.style.color='black'";
            e.Row.Attributes["onclick"]     = Page.ClientScript.GetPostBackClientHyperlink(RH, "Select$" + e.Row.RowIndex);
            e.Row.Attributes["style"]       = "cursor:pointer";
        }           
    }

現在

我想在按下另一個按鈕時禁用該功能

,但是我不知道該怎么做。 我嘗試使用Enable = false,但顯然它不會影響腳本,並且一直允許我再次單擊網格。 我想要的是,當我按下按鈕禁用網格時,它將立即將鼠標懸停在動畫和onclick上,但是還沒有找到合適的方法。

這是GridView的代碼,以防萬一:

<asp:GridView ID="RH" runat ="server" margin-right ="auto" 
         margin-left="auto" OnSelectedIndexChanged="RH_SelectedIndexChanged"
         OnRowDataBound ="OnRowDataBound" CssClass ="GridView" HorizontalAlign="Center" 
         AllowPaging="true" OnPageIndexChanging="OnPageIndexChanging" PageSize="5">            
</asp:GridView>

讓您有一個“禁用”按鈕:

<asp:Button ID="btn" runat="server" OnClick="btn_Click" Text="Disable Click" />

然后單擊按鈕,我們可以刪除動態添加的onclick事件:

 protected void btn_Click(object sender, EventArgs e)
        {
            foreach (GridViewRow row in RH.Rows)
            {
                row.Attributes.Remove("onclick");
            }
        }

如果您再次需要onclick事件,請使用另一個按鈕添加該屬性,然后單擊:

 protected void btn2_Click(object sender, EventArgs e)
        {
            foreach (GridViewRow row in RH.Rows)
            {
                row.Attributes["onclick"] = Page.ClientScript.GetPostBackClientHyperlink(RH, "Select$" + row.RowIndex);
            }
        }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM