2012-07-23 15 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')。 < - 不完整

但我认为这是因为你简化了张贴在这里。