有许多这种语法的旧例子(来自问题):
以下是您不应该做的典型例子:
<script type="text/javascript"> $.ajax({ url: '/home/index' }); </script>
以及这是如何做到的:
<script type="text/javascript"> $.ajax({ url: '@Url.Action("index", "home")' }); </script>
Running an ASP.NET MVC app from a virtual directory in IIS7
然后我发现UrlHelper配置比以前版本的MVC更难,
Url Action方法是否“消失”或者现在不应该使用什么? Core是否需要重写URL?如何在Core 1.1中为“核心”方式创建动态URL字符串?我可以手动构建它并将其传递给我的View,但这不是我想要做的。
(请不要jQuery,是的,我知道上面的问题有jQuery)
编辑:在我的JavaScript中,
var xhr;
xhr = new XMLHttpRequest();
var url = //this is what I want Asp.Net to generate. Currently I manually build it within the JavaScript. It should be,
var url = 'Home/Index' //this can change possibly depending on where the application is deployed.
我试过这个:
@UrlHelper url = new UrlHelper(HttpContext.Current.Request.RequestContext)
var url = '@url.Action("index", "home")';
它在第一个Razor代码中用:
“当前上下文中不存在'UrlHelper'这个名称”
我可能会想出这一部分(我已经尝试了完整的命名空间)。我的主要问题是,如果这仍然是在Core中做事的正确方法。似乎可能不是这样,当我停下来问这里。我以为我错过了什么。