2012-02-17 108 views
2

我有這個腳本,當用戶在ASP.NET中加載頁面時向用戶顯示一條消息,我的問題是,每次用戶單擊任何按鈕導致我相信PostBack重新加載相同的消息。我只想在首頁加載時顯示此內容。任何幫助將不勝感激。如何防止每次單擊按鈕時重新加載JavaScript?

$('.block .message').hide().append('<span class="close" title="Dismiss"></span>').fadeIn('slow'); 
$('.block .message .close').hover(
    function() { $(this).addClass('hover'); }, 
    function() { $(this).removeClass('hover'); } 
); 

$('.block .message .close').click(function() { 
    $(this).parent().fadeOut('slow', function() { $(this).remove(); }); 
}); 

這裏是我的HTML代碼,

<div class="message info">The first input field would allow you to provide the From Date, PO, Shipment or Single Date.</div> 
+0

那盤旋代碼。只需使用':hover'僞類而不是'.hover'類... – 2012-02-17 22:44:15

+0

只需要顯示它就可以了。 – 2012-02-17 22:47:10

+0

因此,問題是:「如何讓ASP.NET每次單擊按鈕時都不會重新加載整個頁面?」或者「我如何讓JS檢測到初始加載和回發加載之間的差異?」 – Umbrella 2012-02-17 22:50:36

回答

4

添加RUNAT =服務器一個ID:

在你的Page_Load
<div class="message info" runat="server" id="divmessage" > 

添加代碼以使其可見只有在絕對不需要!的IsPostBack

protected void Page_Load(object sender, EventArgs e) 
{ 
    divmessage.visible = !IsPostBack; 
} 
3

你可以添加到您的網頁:

<script> 
    function isPostBack() { 
     return <%= Page.IsPostBack %>; 
    } 
</script> 

現在:

if (!isPostBack()) { 
    //show message 
} 
相關問題