无法通过 c# 代码调用 jConfirm 脚本
Posted
技术标签:
【中文标题】无法通过 c# 代码调用 jConfirm 脚本【英文标题】:can't call jConfirm script via c# code 【发布时间】:2014-04-22 12:35:47 【问题描述】:我必须通过 c# 以编程方式调用 jConfirm 函数(jquery 警报库)。 我将 .js 库包含在我网站的母版页中,如下所示:
<script type="text/javascript"
src='<%# Page.ResolveClientUrl("~/Scripts/jquery-1.7.2.min.js") %>'></script>
<script type="text/javascript"
src='<%# Page.ResolveClientUrl("~/Scripts/jquery.alerts.js") %>'></script>
...并通过c#这样调用方法:
Page.ClientScript.RegisterStartupScript(typeof(System.Web.UI.Page), "alert", @"
<script type=""text/javascript"" language=""javascript"">
jConfirm('Are you sure?', 'title', function(answer)
if (answer)
alert('ok');
else
alert('ko');
); return false;
</script>");
但它不起作用...如果我以相同的方式调用例如 jAlert 函数一切正常,所以我不认为是导入问题。
有什么建议吗?
【问题讨论】:
【参考方案1】:将其包装在一个函数中
Page.ClientScript.RegisterStartupScript(typeof(System.Web.UI.Page), "alert", @"
<script type=""text/javascript"" language=""javascript"">
function FooAlert()
jConfirm('Are you sure?', 'title', function(answer)
if (answer)
alert('ok');
else
alert('ko');
); return false;
</script>");
【讨论】:
感谢您的回复。它仍然不起作用。我注意到它只适用于 Chrome,问题出在 IE 和 Firefox,但我还没有解决它。【参考方案2】:我找到了解决办法……真是天真的理由!
<script type="text/javascript"
src='<%# Page.ResolveClientUrl("/Scripts/jquery-1.7.2.min.js") %>'></script>
<script type="text/javascript"
src='<%# Page.ResolveClientUrl("/Scripts/jquery.alerts.js") %>'></script>
似乎在相对路径中使用字符“~”时,此脚本无法正常工作……没有它就可以了。
【讨论】:
以上是关于无法通过 c# 代码调用 jConfirm 脚本的主要内容,如果未能解决你的问题,请参考以下文章