2016-01-02 1 views
-1

Мне удалось выполнить следующее, чтобы выполнить правильно, что означает, что я правильно установил регенерацию и т. Д. Я вижу окно предупреждения.JavaScript не выполняется в разделе под Razor

@{ Layout = "~/Views/Shared/_Default.cshtml"; } 
<h1>Eye candies</h1> 

@section Footie 
{ 
    <script type="text/javascript"> 
    alert("Ola!"); 
    </script> 
} 

Однако, когда я изменяю, что для выполнения другого сценария, показывая прохладный шар с посетителями, я не вижу ничего, нада, ziltch! Нет ошибки, ничего. Просто пустая страница.

Когда я вставляю URL-адрес в браузер, я получаю исходный код JS, поэтому я предполагаю, что эта часть работает. Но у меня нет идей, как исследовать его дальше.

@section Footie 
{ 
    <script src="@Url.Content("//ra.revolvermaps.com/0/0/5.js?i=0w5jyvctga6&amp;m=0&amp;s=180&amp;c=ff0000&amp;cr1=ffffff")" 
      async="async" 
      type="text/javascript"></script> 
} 

Я добавил статическую HTML-страницу и вставил ее в скрипт. Работает как шарм! Таким образом, это определенно связано с выполнением скрипта под видом MVC (или синтаксиса Razor).

Предложения?

+0

~/Views/Shared/_Default.cshtml содержит '' '' RenderSection («Footie», false) '' ''? –

+0

, пожалуйста, получите элемент проверки своей страницы в своем браузере. Скажите нам, что было загружено –

ответ

1

Посмотрите на URL вы передаете к Url.Content методе

@Url.Content("//ra.revolvermaps.com/0/0/5.js?i=0w5jyvctga6&amp;m=0&amp;s=180 
                  &amp;c=ff0000&amp;cr1=ffffff") 

В URL, то & уже закодирован &amp; метода Url.Content собирается кодировать & снова, и вы получите результат, как

"//ra.revolvermaps.com/0/0/5.js?i=0w5jyvctga6&amp;amp;m=0&amp;amp;s=180&amp;amp; 
                   c=ff0000&amp;amp;cr1=ffffff" 

Теперь у вас есть &amp;amp; :)

Решения либо Прекратите использование Url.Content() методе

<script type="text/javascript" src="//ra.revolvermaps.com/0/0/5.js?i=0w5jyvctga6&amp; 
         m=0&amp;s=180&amp;c=ff0000&amp;cr1=ffffff" async="async"></script> 

или не кодировать URL, приходящий к Url.Content() методе пусть метод заботиться кодированиями его.

<script type="text/javascript" src="@Url.Content("//ra.revolvermaps.com/0/0/5.js 
       ?i=0w5jyvctga6&m=0&s=180&amp;c=ff0000&cr1=ffffff")" async="async"></script> 
Смежные вопросы