I have a JavaScript function like this in my ASP.NET MVC 3 application.
function Foo()
{
var url = "@Url.Action("MyAction", "MyController")";
alert(url);
}
I'm confused as to why the above code works. I was expecting to have to escape @Url.Action(...)
inside <%=
tags?
I have a JavaScript function like this in my ASP.NET MVC 3 application.
function Foo()
{
var url = "@Url.Action("MyAction", "MyController")";
alert(url);
}
I'm confused as to why the above code works. I was expecting to have to escape @Url.Action(...)
inside <%=
tags?
3 Answers
Reset to default 4This is a feature of the Razor view engine - it handles the switch between HTML/Javascript and your server-side view code so you don't need to escape it in most cases.
See Scott Guthrie's blog post on it: http://weblogs.asp/scottgu/archive/2010/07/02/introducing-razor.aspx
Looks like you're using the new Razor view engine.
Edit: I'm assuming the JavaScript function is written inside a view file (cshtml)
Yes ,It works in razor view pages,but the intellisense don't work inside the "" or '' as webform view engine.