2010-11-11 2 views
5

У меня есть JavaScript-функция, подобная этой в моем приложении ASP.NET MVC 3.@ символ в блоке JavaScript

function Foo() 
{ 
    var url = "@Url.Action("MyAction", "MyController")"; 
    alert(url); 
} 

Я запутался, почему этот код работает. Я ожидал, что вам нужно избежать @Url.Action(...) внутри <%= тегов?

ответ

4

Это особенность зрения Бритва двигателя - он обрабатывает переключение между HTML/Javascript и ваш взгляд на стороне сервера кода, поэтому вам не нужно избегать его в большинстве случаев.

блог знакомства Скотт Гатри на нем: http://weblogs.asp.net/scottgu/archive/2010/07/02/introducing-razor.aspx

+1

А, это ссылка, которую я искал. Ошибка Google – Phil

2

Похоже, вы используете новый механизм просмотра Razor.

Edit: Я предполагаю, что функция JavaScript записывается внутри вида файла (cshtml)

+0

Действительно, я, это функция? – Senkwe

+0

http://geekswithblogs.net/wildturtle/archive/2010/10/11/exploring-asp.net-mvc-3-razor-view-engine-and-syntax-highlighting.aspx – Phil

+0

Вау, какой приятный сюрприз тогда :-) Наткнулся на это просто случайно через опечатку! Благодарю. – Senkwe

0

Да, это работает как бритва просмотреть страницы, но IntelliSense не работает внутри «» или «», как вид Webform двигатель.

Смежные вопросы