Search code examples
javascriptasp.net-mvcasp.net-mvc-3razorurlhelper

Use Separate js File And use Url Helpers in it with ASP.NEt MVC 3 and Razor View Engine


I ask a similar question here and Darin Dimitrov answer that we can't use Url helper like $.ajax({ url: '@Url.Action("Index")', . . . in separate js file so what is your suggestion to use Url helper in view page and pass it to javascript, I don't want to use hard code url, I need to find it with Url helper.?


Solution

  • Use a hidden field to store your url, then use javascript to read the hidden field, then use that in your code. That way you can keep the JS file separate to the view. Something like this:

    //In Your View
        @Html.Hidden("MyURL", Url.Action("Index"))
    
    //In Your JS
        var myUrl = $("#MyURL").val();
    
        $.ajax({ url: myUrl , . . .