是否有UrlHelper的Asp.Net Core 1.1替代品?

时间:2017-03-22 15:18:51

标签: javascript ajax asp.net-core-mvc

有许多这种语法的旧例子(来自问题):

  

以下是您不应该做的典型例子:

<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更难,

Unable to utilize UrlHelper

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中做事的正确方法。似乎可能不是这样,当我停下来问这里。我以为我错过了什么。

0 个答案:

没有答案