2013-04-29 69 views
2

如何從代碼隱藏中刪除禁用的asp.net按鈕屬性。如何從按鈕中刪除禁用的屬性?

我已經做了disbled屬性爲true從JavaScript的按鈕,並希望在代碼隱藏啓用它。

在Javascript中,

btnCalc.disabled=true; 

代碼隱藏在複選框更改事件,我正在爲啓用,

btnCalc.enabled=true;//but this does not enable the button. 

我試圖刪除歸結爲按鈕,但didt爲我工作。

btnCalc.Attributes.Remove("disabled"); 

請讓我知道,任何其他方式來實現這一點。

+0

無論你在那裏做什麼 - 在編程序列中可能有錯誤。所以你的.enabled = true可能在disabled = true之前運行 – TGlatzer 2013-04-29 07:09:35

+0

@Grumbler:首先禁用,然後根據我的邏輯啓用。 – MahaSwetha 2013-04-29 07:30:37

+0

你用JS調試器驗證過嗎? 你正在做你的代碼中的JS,對吧? – TGlatzer 2013-04-29 07:33:24

回答

2

瑪哈嗨,我已經試過這一點,並得到了工作後,爲使按鈕,

的JavaScript:

<script type="text/javascript"> 

     function handleChange(cb) { 
     var btn = document.getElementById('ButtonTest'); 
     if (cb.checked == true) { 
      btn.disabled = true; 
      alert('Checked True'); 
      return true; 
     } else { 
      alert('False'); 
      btn.disabled = false; 
      return false; 
     } 
    } 
    </script> 

ASPX頁碼:

<div> 
    <asp:CheckBox runat="server" ID="checkMe" title="Hey Check Me" name="Check Me" ClientIDMode="Static" onclick="handleChange(this)" AutoPostBack="false" Text="Check Me" /> 

    <asp:Button runat="server" ID="ButtonTest" title="Hey Check Me" ClientIDMode="Static" Text="Submit Button" OnClick="ButtonTest_Click" /> 
</div> 

代碼背後:

protected void ButtonTest_Click(object sender, EventArgs e) 
{ 
    // Your Logic 
} 

但複選框AutoPostBack="false"應該是假的。其他方面整個頁面將被重新加載和禁用屬性將被刪除。

希望它有幫助。:)

0

您可能需要一些關於ASP.NET頁面生命圈的知識 您啓用了代碼隱藏按鈕,它只是幫助生成瀏覽器的響應文本,JavaScript將在瀏覽器加載HTML(響應文本)後運行,你的JavaScript代碼再次運行並禁用該按鈕。

您可以註冊一個啓動腳本禁用按鈕腳本

相關問題