2016-07-03 63 views
4

我的想法是,當用戶未在loged他將無法將項目添加到購物車,所以我所做的就是像這樣:禁用asp.net按鈕的回發

<asp:Button ID="BTNAddToCart" runat="server" Text="Add to cart" class="btn btn-info btn-lg" style="display: inline; margin: auto; display: block; visibility: hidden;" OnClick="BTNAddToCart_Click" /> 

,然後在後面的代碼:

if (Session["User"] == null) 
{ 
    BTNAddToCart.Attributes["class"] = "btn btn-info btn-lg disabled"; 
    BTNAddToCart.Attributes.Add("title", "Error"); 
    BTNAddToCart.Attributes.Add("data-toggle", "popover"); 
    BTNAddToCart.Attributes.Add("data-trigger", "hover"); 
    BTNAddToCart.Attributes.Add("data-placement", "bottom"); 
    BTNAddToCart.Attributes.Add("data-content", "You must be loged in to add items to the cart"); 
} 

正如你所看到的,通過使用引導我給了按鈕,他不能被點擊,但在現實中,他仍然是可點擊的外觀。

所以我認爲,馬比,如果我將禁用按鈕回發它真的不會點擊。

如何禁用按鈕回發?

我曾嘗試:

<asp:Button ID="BTNAddToCart" runat="server" Text="Add to cart" class="btn btn-info btn-lg" style="display: inline; margin: auto; display: block; visibility: hidden;" OnClientClick="BTNJavaScriptClick()" OnClick="BTNAddToCart_Click" /> 



<script> 

function BTNJavaScriptClick() 
{ 
    var ButtonAdd = document.getElementById("BTNAddToCart"); 
    if (ButtonAdd.className == "btn btn-info btn-lg disabled") 
     return false; 
} 

</script> 

我甚至嘗試BTNAddToCart.Enabled = false;和它的工作,但它讓我酥料餅即消失。

回答

1

如果您希望按鈕,當鼠標在它做出反應(例如顯示工具提示),而點擊時不會觸發回傳,您可以:

  • 保持按鈕啓用
  • 顯示該按鈕爲禁用自舉風格
  • 防止OnClientClick
  • 防止回發通過返回false獲得焦點

按鈕上的代碼是這樣的:

if (Session["User"] == null) 
{ 
    BTNAddToCart.CssClass = "btn btn-info btn-lg disabled"; 
    BTNAddToCart.OnClientClick = "return false;"; 
    BTNAddToCart.Attributes.Add("onfocus", "this.blur();"); 
    ... 
} 
+0

我真的愛你!我一直坐在這上好幾個小時! – harel486

3

你可以簡單設置啓用 asp.net屬性爲false,並且按鈕不會回發。

BTNAddToCart.Enabled = false; 

當一個元素是disabled您可以使用CSS的disabled風格給他想要的樣子。下面是一個簡單的例子:

input:disabled { 
    background: #444; 
} 

相對於: Styling a disabled input with css only

+0

謝謝!它正在工作:) – harel486

+0

還有一件事,通過這樣做,它取消了「風格」我給了按鈕(popover)我怎麼能使他們都工作? – harel486

+0

@ harel486請參閱css http://www.w3schools.com/cssref/sel_disabled.asp上的禁用樣式,如果適合您,請投票並接受答案 – Aristos