2012-07-23 17 views
0

我有下面的代碼.....jQuery的隱藏與asp.net回發

<head> 
<script src="Scripts/jquery-1.7.2.min.js" type="text/javascript"></script> 
<script src="Scripts/hidepanel.js" type="text/javascript"></script> 
</head> 
<body> 
    <div id="outboundForm"> 
    <p> 
     <asp:Button ID="btnSubmit" ClientIDMode="Inherit" runat="server" TabIndex="17" CssClass="btnSubmit" 
      OnClick="btnSubmit_Click" meta:resourcekey="btnSubmitResource1" /> 
     <asp:Button ID="btnReset" runat="server" CssClass="btnReset" OnClick="btnReset_Click" 
      meta:resourcekey="btnResetResource1" /> 
    </p> 
</div> 
<div id="MailPreviewDiv"> 
    <asp:Label ID="lblPreview" runat="server" Visible="false" Text="" /> 
</div> 

我hidepanel.js看起來是這樣的....

$(document).ready(function() { 
    d = new Date(); 
    d = d.getTime(); 
    if ($('#reloadValue').val().length == 0) { 
     $('#reloadValue').val(d); 
     $('#MailPreviewDiv'). 
    } else { 
     $('#reloadValue').val(''); 
    } 

    $('#MainContent_btnSubmit').click(function() { 
     $('#outboundForm').hide("slow"); 
     $('#MailPreviewDiv').show("slow"); 
    }); 
}); 

現在,默認情況下,我希望MailPreviewDiv被隱藏,只有當我點擊btn_submit時,我是否需要看到MailPreviewDiv。這工作與傳統的HTML翅膀,但只要我把這個添加到.NET瘋狂的事情發生。當我點擊提交時,我可以看到轉換髮生,但我剩下兩個div仍然顯示,並且outboundForm div仍然可見。

我觀察到的是,JavaScript甚至被解僱,然後我的.net鼠標點擊甚至被激發後,之後我可以看到一個過渡,並留下兩個div的可見。任何人都可以提供一些建議,請...

這可能是與部分回發發生,但我不知道....

+0

您是否希望發生回發?您正在使用執行回發並重新加載頁面的asp.net按鈕。僅將HTML項目與客戶端代碼放在一起。 – 2012-07-23 14:31:52

+0

@AmiramKorach - 我希望postback和js事件都能發生。 – Roooss 2012-07-23 14:34:36

+1

如果是這種情況,請考慮在回發後使用RegisterStartupStript應用js代碼http://msdn.microsoft.com/en-us/library/z9h4dk8y.aspx – 2012-07-23 14:36:48

回答

0

也許嘗試設置outboundForm到的Runat =「服務器」,並在服務器端設置它的可見性爲false。

<div runat="server" id="outboundForm" > 

代碼隱藏

outboundForm.Visible = false; 

看來,JS是罰款運行,但該服務器重裝上回發的隱藏的股利。

你的JS有一個語法錯誤$('#MailPreviewDiv')。 < - 不完整

但我認爲這是因爲你簡化了張貼在這裏。