2015-10-22 156 views
0

我有一個asp.net應用程序,它是一個隨機生成器,我希望我的按鈕在單擊時禁用並保持禁用狀態。禁用按鈕OnClick

我曾嘗試加入OnClientClick="this.disabled = true;"<asp:button>,也嘗試添加以下到我的onclick後面的代碼 BtnDecideForMe.Attributes.Add("onclick", "this.disabled=true;");但這些工作。

不用擔心它的乾淨程度,只要它乾乾淨淨並且完成工作。

HTML

<div class="col-sm-2"> 
    <asp:Button class="btn btn-success" ID="BtnDecideForMe" runat="server" Text="Decide For Me" OnClick="BtnDecideForMe_Click" /> 
</div> 

On_Click事件

protected void BtnDecideForMe_Click(object sender, EventArgs e) 
{ 
    List<string> Eat = new List<string>(); 
    Eat.Add("Chinese Buffet"); 
    Eat.Add("Harvester"); 
    Eat.Add("Frankie & Benny's"); 
    Eat.Add("Hungry Horse"); 
    Eat.Add("Blaize"); 
    Eat.Add("Chiquito"); 
    Eat.Add("Cafe Football"); 
    Eat.Add("Nando's"); 

    Random Place = new Random(); 
    int Places = Place.Next(0, Eat.Count); 
    txtDestination.Text = Eat[Places]; 
    //BtnDecideForMe.Enabled = false; 
} 

我真的不希望使用BtnDecideForMe.Enabled = false;,因爲它失去了我的bootstrap造型和真的不希望應用的整體很多css

+0

當你說保持禁用你的意思是即使在回發頁面重新加載之後? – Fred

回答

0

不想我想做的事,但我決定重複的代碼(不是最好的我沒有,但它的工作),反正下面的回答:

<% if (txtDestination.Text == "") 
{%> 
    <asp:Button class="btn btn-success" ID="BtnDecideForMe" runat="server" Text="Decide For Me" OnClick="BtnDecideForMe_Click" /> 
<%} 
else 
{ %> 
    <button class="btn btn-success" disabled>Decided</button> 
<%} %> 
1

您可以在按鈕點擊事件中使用下面的代碼。

BtnDecideForMe.Enabled = false; 
+0

@vidhyardhiI我的代碼已經有你的建議了,但是我已經評論過它,因爲啓用的風格看起來不像我使用的'bootstrap'風格,我將不得不創建一大堆'.css'決定不這樣做。 – murday1983

0

使用JQuery,你可以使用下面的代碼片段來實現。這將在表單發佈時禁用按鈕,並在完成後刪除禁用的屬性。

$(document).on('invalid-form.validate', 'form', function() { 
     var button = $(this).find('input[type="submit"]'); 
     setTimeout(function() { 

      button.removeAttr('disabled'); 
     }, 1); 
    }); 
    $(document).on('submit', 'form', function() { 
     var button = $(this).find('input[type="submit"]'); 
     setTimeout(function() { 

      button.attr('disabled', 'disabled'); 
     }, 0); 
    }); 
+0

我已經嘗試添加您的代碼,但點擊時不會禁用。我已將我的整個點擊添加到我的帖子中,以防這種情況有所幫助 – murday1983

+0

您是否收到過任何錯誤?任何可能有用的東西。這應該工作,如果你有jQuery的參考和正確的按鈕ID – Moe

0

我還沒有研究asp.net多,但如果你只是想使用jQuery禁用點擊按鈕,你可以瞄準它,你會任何其他元素,並使用這樣的事情?

$(document).on("click", "#your-buttons-id", function() { 
    $(this).prop("disabled", true); 
    }); 

http://codepen.io/jonathanrbowman/pen/jbZVyL#0

+0

我已經嘗試添加您的代碼,但它不會禁用單擊時。如果有幫助,我已將我的整個點擊添加到我的帖子中 – murday1983