Невозможно вызвать скрипт jConfirm через код C#

Я должен вызывать функцию jConfirm (библиотека оповещений jquery) через C# программно. Я включаю библиотеку.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, все идет хорошо, поэтому я не думаю, что это проблема импорта.

Любое предложение?

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>

Кажется, что с символом '~' в относительном пути этот скрипт не работает... без него идет нормально.

Оберните это внутри функции

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>");
Другие вопросы по тегам