2014-10-16 68 views
2

我有這個面板在我的.aspx webform頁面上顯示按鈕回發事件後的消息(成功,失敗,異常等)。我也在這個頁面中包含了一些Jquery庫。asp.net引導警報自動關閉

<asp:Panel ID="InfoPanel" runat="server" class="alert alert-success alert-dismissable" Visible="False"> 
    <button type="button" class="close" data-dismiss="alert" aria-hidden="true"></button> 
    <i class="fa-lg fa fa-bullhorn"></i> 
    <asp:Label ID="lblMessage" runat="server" Text=""></asp:Label> 
</asp:Panel> 

它看起來是這樣的:(lblMessage將顯示在代碼後面的文本) enter image description here

如何使之成爲自動關閉5秒後,我對JS和零知識jQuery的,但如果你告訴我它是如何工作的,我可以把它應用到我的節目(笑) 注:我在這裏看到了這個問題:Bootstrap Alert Auto Close選擇的答案是:

$("#success-alert").fadeTo(2000, 500).slideUp(500, function(){ 
    $("#success-alert").alert('close'); 
}); 

但我很困惑,我該怎麼辦讓它起作用?

回答

0

我發現這一個,它的工作原理:http://www.queryadmin.com/997/automatically-close-twitter-bootstrap-alert-message/

自動關閉(消失)的警告消息5秒後:

<script type="text/javascript"> 
<!-- 

$(document).ready(function() { 

window.setTimeout(function() { 
    $(".alert").fadeTo(1500, 0).slideUp(500, function(){ 
     $(this).remove(); 
    }); 
}, 5000); 

}); 
//--> 
</script> 

下面的內容消息將滑動到其原始位置。

這是用HTML代碼以顯示消息:

<div class="alert alert-danger"> 
This is an example message... 
</div> 

的更多信息: window.setTimeout(function, delay)

1

$("#success-alert")是一個選擇器...您正在選擇下面的動作將被採取的頁面的哪一部分。在這種情況下,它會尋找idsuccess-alert的元素。

頁面中的asp控件的Id是自動生成的,但可以通過控件.ClientId屬性進行訪問。

所以,你需要來執行JavaScript,但與InfoPanel控制

默認情況下的客戶端ID替換success-alert,使用Javascript,只要它是由頁面加載執行(有辦法拖延的話)。在你的情況下,最簡單的方法是在包含消息的響應中包含一個<script>塊。

僅供參考,fadeTo documentation值得一讀。傳遞的參數是延遲(在你的例子中是2000毫秒)和不透明度(應該是0-1)。消失後,它會在500毫秒的時間內滑動(想象一下關閉的六角琴)。

function() {}最後是在動畫完成後調用的匿名函數。就像拉姆達一樣。你可以選擇使用它來完成你需要的任何其他整理,但它不應該被要求。

它已經相當一段時間,因爲我做的WebForms,但我想你想你的信息框

<script type="text/javascript"> 
    $("#<%=InfoPanel.ClientID%>").delay(5000).fadeTo(500, 0); 
</script> 

EG結束這樣的等待5秒鐘,然後淡出超過1/2秒

+0

應該在哪裏我把這個?我試圖把它放在面板下方和麪板內,但兩種方式都行不通? – 2014-10-17 05:42:16

+0

您是否可以在觸發按鈕單擊事件後提供帶按鈕和自動關閉面板的.aspx頁面示例? – 2014-10-17 07:20:31

+0

如果你把它放在''之前,它應該可以工作。如果不是,你需要給我一些調試信息。您的瀏覽器可能具有開發人員工具(Chrome中的F12,Firefox中的Ctrl-Shift-K,IE中的菜單選項)。轉到「控制檯」選項卡並觀看導致顯示消息時發生的情況。如果有anysyntax錯誤/類似的問題,你應該看到列出的錯誤。如果您什麼都看不到,請使用檢查標籤(或佈局取決於瀏覽器)查看_generated_來源。這就是現在的頁面,而不是當你第一次看到它時。確保你可以看到jscript。 – Basic 2014-10-17 08:17:18

0

您可以設置一個計時器並在5秒後淡出計時器。

喜歡的東西

setTimeout(function() { 
    $("#success-alert").fadeOut(100, null);        
}, 5000); 
+0

您是否可以在按鈕點擊事件觸發後提供帶按鈕和自動關閉面板的.aspx頁面示例? – 2014-10-17 07:21:04