如何从母版页中的控件调用 javascript 函数?
Posted
技术标签:
【中文标题】如何从母版页中的控件调用 javascript 函数?【英文标题】:How to call a javascript function from a control within a masterpage? 【发布时间】:2010-10-14 14:56:49 【问题描述】:我有一个带有登录控件的母版页。单击登录按钮时,如果用户的会员资格将在 30 天内到期,我希望弹出一个 JQuery 对话框,否则它将正常登录。我不知道该怎么做。我将发布部分代码:
这里是javascript:
<script type="text/javascript">
function showjQueryDialog()
$("#dialog").dialog("open");
$(document).ready(function()
$("#dialog").dialog(
autoOpen: false,
modal: true,
buttons: "Renew Membership": function()
$(this).dialog("close");
);
);
</script>
登录按钮称为 ibtnLoginButton,下面是部分代码:
//Grab the user profile.
UserProfiles userProfile =
UserProfiles.GetUserProfiles(txtUserName1.Text);
//Calculate the Time Span
TimeSpan timeSpan = userProfile.Expiration.Subtract(DateTime.Now);
if (timeSpan.Days < 30)
//Show JQuery Dialog Here
else
//Continue with Login Process.
【问题讨论】:
【参考方案1】:这个怎么样?
if (timeSpan.Days < 30)
//Show JQuery Dialog Here
ScriptManager.RegisterClientScriptBlock(this, typeof(Page), "showExpiration", "showjQueryDialog()", true);
【讨论】:
好的,我试过了,它显示了对话框 div 中的文本,但对话框没有弹出。 尝试将 Javascript 函数 showJQueryDialog() 更改为: function showJQueryDialog() alert('Time to renew members!'); 或类似的东西。这会满足您的需求吗? 一旦你开始工作,你可以尝试让一个漂亮的 JQuery 模态对话框看起来像这样:ericmmartin.com/projects/simplemodal 好的,警报有效,但我的问题是现在对话框没有显示。它只是在页面上显示 div 的内容,而不是弹出 JQuery 对话框 这涉及到一个我不太熟悉的 JQuery 调试问题。您是否指向 JQuery UI Dialog 脚本?我相信你也需要在 JQuery 库中指出这一点。【参考方案2】:如果,正如您所说,当单击 asp:Button 时出现此 jQuery 对话框,为什么不隐藏按钮并将您的 javascript 更改为在页面加载后仅按下按钮?
【讨论】:
【参考方案3】:为什么不总是在单击按钮时调用 jquery 方法,然后在 javascript 方法中确定是否要显示对话框?如果没有,就什么也不做。由于您只是在检查 ExpirationDate 是否小于 now + 30 天,因此您可以在 javascript 中进行该计算。
编辑:
我无法为您提供确切的解决方案,但这里有一些伪代码可以帮助您上路。
首先在javascript中提供用户个人资料的到期日期:
<script>
var userProfileExpiresOn = "<asp:Literal ID="userProfileExpiresOn" />";
</script>
然后编辑您的方法,使其执行您当前在服务器端为您执行的逻辑:
<script>
function showjQueryDialog()
if (userProfileExpiresOn < (now + 30 days))
$("#dialog").dialog("open");
</script>
您可以在 how to work with dates in Javascript at W3schools. 上找到一些文档
【讨论】:
你能举个例子吗?我是 javascript 新手。以上是关于如何从母版页中的控件调用 javascript 函数?的主要内容,如果未能解决你的问题,请参考以下文章
如何在母版页中调用jquery ui autocomplete以在内容页面中定义控件