簡體   English   中英

jQuery隱藏與asp.net回發

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM