Jquery使用asp.net回发隐藏

Jquery Hide with asp.net postback

本文关键字:隐藏 net 使用 asp Jquery      更新时间:2024-01-03

我有以下代码。。。。。

<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>

我的隐藏面板.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中,就会发生一些疯狂的事情。当我单击submit时,我可以看到转换正在进行,但随后我看到两个div仍在显示,outboundFormdiv仍可见。

我所观察到的是,javascript甚至被触发,然后在我的.net鼠标点击之后,甚至被触发了,之后我可以看到一个转换,并且两个div都可见。有人能提供一些建议吗。。。

这可能与部分回发有关,但我不确定。。。。

您的页面正在执行回发,因此所有html元素都会立即失去jquery效果。您需要在使用RegisterStartupScript回发后在服务器端注册js代码http://msdn.microsoft.com/en-us/library/z9h4dk8y.aspx

也许可以尝试将outboundForm设置为runat="server",而在服务器端设置中,它的可见性为false。

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

背后的代码

outboundForm.Visible = false;

JS似乎运行得很好,但服务器正在回发中重新加载隐藏的div。

您的JS出现语法错误$('#MailPreviewDiv')<--不完全

但我想这是因为你在这里发帖是为了简化。