2009-12-02 35 views
1

我有一個<asp:ImageButton />,它的enabled屬性設置爲false在非IE瀏覽器中禁用ASP.NET ImageButton

這適用於Internet Explorer,該按鈕不是'可點擊的',但在其他瀏覽器中可以單擊它。但是,在這些其他瀏覽器中單擊imagebutton時沒有任何反應。

如何禁用在Internet Explorer之外的瀏覽器中單擊按鈕的功能?

+0

您正在使用C#圖像按鈕(也如何重新啓用)? – 2009-12-02 19:49:28

+0

我的意思是我只是想知道你在後端使用哪種語言。謝謝 – 2009-12-02 19:50:10

+0

是的,它是C#asp.net,所以我在aspx頁面中設置了「Enabled =」false「 – 2009-12-02 19:51:59

回答

6

如果我理解正確,該ImageButton禁用,因此它不會導致回發。問題是,將鼠標放在ImageButton上方時,Firefox中仍然會顯示「手形」光標。如果是這樣的話,你可以改變光標爲ImageButton這樣的:

<style type="text/css"> 
    .pointer 
    { 
     cursor:default; 
    } 
</style> 

<asp:ImageButton ID="ImageButton1" runat="server" 
    ImageUrl="~/Images/image.bmp" Enabled="false" /> 

protected void Page_Load(object sender, EventArgs e) 
{ 
    ImageButton1.CssClass = !ImageButton1.Enabled ? "pointer" : ""; 
} 
+0

這不會導致poitner始終默認即使啓用它? – 2009-12-02 20:30:04

+0

不錯,你必須在後面的代碼中動態地添加CssClass屬性,具體取決於ImageButton是否啓用/禁用。 – Phaedrus 2009-12-02 21:08:19

0

在您的代碼隱藏文件中添加或刪除以下內容,在您設置ImageButton1.Enabled = false的相同位置。

ImageButton1.Attributes["disabled"] = "disabled"; 
+0

我看標記,這正是它如何呈現。 – 2009-12-02 19:43:01

+0

是不是Attributes.Add(「禁用」,「禁用」); – 2009-12-02 19:44:18

+0

是不是Attributes.Add( 「disabled」,「true」);? – 2009-12-02 19:56:05

1

該代碼可以使用

   if (cash == true && terms == true) 
       { 
        checkOutImageButton.Attributes.Add("disabled", "disabled"); 
        error = true; 
       } 
       else 
       {       
        checkOutImageButton.Attributes.Remove("disabled"); 
        error = false; 
       }