【问题标题】:can't call jConfirm script via c# code无法通过 c# 代码调用 jConfirm 脚本
【发布时间】: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 函数一切正常,所以我不认为是导入问题。

有什么建议吗?

【问题讨论】:

    标签: c# javascript jquery alerts jconfirm


    【解决方案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>
    

    似乎在相对路径中使用字符“~”时,此脚本无法正常工作……没有它就可以了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-09
      • 2019-02-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多