JavaScript块中的@符号

时间:2010-11-11 00:06:23

标签: javascript asp.net-mvc asp.net-mvc-3 razor

我的ASP.NET MVC 3应用程序中有一个像这样的JavaScript函数。

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

我很困惑为什么上面的代码有效。我原本期望在@Url.Action(...)标签内逃离<%=

3 个答案:

答案 0 :(得分:4)

这是Razor视图引擎的一项功能 - 它处理HTML / Javascript与服务器端视图代码之间的切换,因此在大多数情况下您无需转义它。

请参阅Scott Guthrie的博文:http://weblogs.asp.net/scottgu/archive/2010/07/02/introducing-razor.aspx

答案 1 :(得分:2)

看起来你正在使用新的Razor视图引擎。

编辑:我假设JavaScript函数是在视图文件(cshtml)中编写的

答案 2 :(得分:0)

是的,它适用于剃刀视图页面,但智能感知在“”或“”作为网络表单视图引擎中不起作用。