JavaScript块中的@符号

Sen*_*kwe 5 javascript asp.net-mvc razor asp.net-mvc-3

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

function Foo()
{
   var url = "@Url.Action("MyAction", "MyController")";
   alert(url);
}
Run Code Online (Sandbox Code Playgroud)

我很困惑为什么上面的代码工作.我原本期待@Url.Action(...)<%=标签内逃脱?

Jon*_*way 4

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

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