我在ASP.NET中有一个旧的应用程序。在带有“提交”按钮的表单中,我将此div放在页面顶部:
<div id="submitIndication" class="saveIndication" runat="server" visible="false">
Your request has been submitted.
</div>
在代码隐藏中的btnSubmit_Click上,我把这行:
submitIndication.visible = true
此代码然后处理淡出div:
jQuery(document).ready(function () {
setTimeout(fadeOut, 4000);
});
function fadeOut() {
jQuery("#submitIndication").slideUp(400);
};
一切正常。但是,页面上还有另外两个按钮,“Prefill Form”和“Opt Out”。这些调用自己的方法(btnOptOut_Click和btnPrefillFormInfo_Click),它们都不会以任何方式触及submitIndication div。
但是,在我第一次提交表单后,当我点击预填表格或选择退出时,页面会刷新,并且提交div会再次显示在顶部。如果我在提交之前单击,则不会发生这种情况。
此时似乎div仍然在页面上,只是显示直到JavaScript淡出它。我已经尝试过所有方式(将CSS设置为false并显示为none,remove(),hide(),attr()等),似乎没有任何东西可以摆脱这个div。
这感觉应该是这么简单。如何在提交并单击其他按钮后显示不的div?
答案 0 :(得分:2)
试试这个:
将DIV声明为:
<div id="submitIndication" class="saveIndication" runat="server" style="display:none">
Your request has been submitted.
</div>
在代码隐藏中的btnSubmit_Click上放这行(假设你使用的是C#):
submitIndication.Style["display"] = "block";
并使用您当前的淡出代码。
更新来想想它更简单的方法应该有效。保留设置中的所有内容,只需将EnableViewState = "false"
添加到DIV的HTML定义中即可。