[英]Jquery Hide with asp.net postback
我有以下代碼.....
<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都可見。 有人可以提供一些建議嗎...
這可能與發生部分回發有關,但是我不確定...。
您的頁面正在執行回發,因此所有html元素都會立即失去jquery效果。 回發后,您需要使用RegisterStartupScript http://msdn.microsoft.com/zh-CN/library/z9h4dk8y.aspx在服務器端注冊js代碼
也許嘗試將outboundForm設置為runat =“ server”,並在服務器端設置中將可見性設置為false。
<div runat="server" id="outboundForm" >
后台代碼
outboundForm.Visible = false;
似乎JS運行正常,但服務器正在重新加載回發的隱藏div。
您的JS語法錯誤$('#MailPreviewDiv')。 <-不完整
但是我認為那是因為您正在簡化此處的發布。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.