我在这里问了一个类似的问题并Darin Dimitrov
回答说我们不能像$.ajax({ url: '@Url.Action("Index")', . . .
在单独的 js 文件中那样使用 Url 帮助器,那么你有什么建议在视图页面中使用 Url 帮助器并将其传递给 javascript,我不想使用硬代码 url,我需要用 Url helper 找到它。?
问问题
18445 次
6 回答
32
使用隐藏字段来存储您的网址,然后使用 javascript 读取隐藏字段,然后在您的代码中使用它。这样您就可以将 JS 文件与视图分开。像这样的东西:
//In Your View
@Html.Hidden("MyURL", Url.Action("Index"))
//In Your JS
var myUrl = $("#MyURL").val();
$.ajax({ url: myUrl , . . .
于 2012-03-29T08:55:30.597 回答
8
最简单的方法是创建一个名为 something 的全局变量,然后在外部 JS 中引用它
var baseURL = '@Url.Action("Index")';
在你的外部 JS 里面
$.ajax({ url: baseURL + "Action"
于 2012-03-29T08:55:22.737 回答
2
不需要隐藏字段,即使这在外部 .js 文件中也有效。
var myUrl = /ControllerName/ActionName;
$.ajax({ url: myUrl , . .
于 2014-12-07T08:31:38.363 回答
0
查看使用部分 Razor 视图生成外部 JavaScript 文件。在这篇博文中,我描述了如何使用常规 Razor 视图和自定义操作过滤器来呈现可以包含 Razor 代码的外部 JavaScript 文件。
于 2013-07-11T09:12:08.997 回答
0
我对 raklos 使用了类似的方法,但希望在所有地方都获得根目录路径,所以我使用了下面的代码。
@Html.Hidden("AppUrl", Url.Content("~"))
于 2016-01-11T15:20:55.340 回答