我有以下DIV标记:
Your membership is going to expire.
我有以下javascript来执行JQuery:
我有一个asp:Button在一个控件内,控件在一个母版页上.我注意到的第一件事是,当页面加载时,div显示,然后在页面加载完成后消失.当我单击按钮时,它执行以下操作:
if (timeSpan.Days >= 30) { //Show JQuery Dialog Here ScriptManager.RegisterClientScriptBlock(this, typeof(Page), "showExpiration", "showjQueryDialog()", true); }
当我单击按钮而不是弹出对话框时,div的内容才会变得可见.
我知道现在已经老了.但是,将您的类设置为ui-helper-hidden中构建的jQuery UI.
Your membership is going to expire.
这将解决你的div不想要的客串行为.
我相信你在这里有两个相关的问题.
第一次加载时DIV显示的原因是因为你还没有告诉它.使DIV表现为对话框的jQuery脚本在加载HTML DOM之前不会运行,并且在此之前它不会隐藏DIV.一个简单的解决方案是默认使用CSS隐藏DIV.
Your membership is going to expire.
按钮单击问题是相关的:RegisterClientScriptBlock
将输出一个遇到它时运行的脚本,因此将其转换为对话框的jQuery代码还没有机会运行.为了给它一个机会,你可以改变要使用的C#代码RegisterStartupScript
,这将延迟执行showjQueryDialog()
直到页面加载完毕并且jQuery代码有机会将DIV变成对话框.
if (timeSpan.Days >= 30) { //Show JQuery Dialog Here ScriptManager.RegisterStartupScript(this, typeof(Page), "showExpiration", "showjQueryDialog()", true); }