首页 > 解决方案 > 如何解决 ASP.NET Core 2 中 @URL.Action 的问题?

问题描述

我正在跳转到 asp.net 核心。我有使用 MVC 框架的经验。

当我在 javascript 变量中设置 URL.Action("Index", "Home") 时,结果是:mvc 4 中的“/Home/Index/”,

但在 ASP.NET Core 我尝试做完全相同的事情,但我只得到一个斜线打印的“/”

怎么了?我读过其他问题,但没有人能给出正确答案。

<input type="hidden" value="@Url.Action("Index", "Home")" id="urlIndex" />

结果:

<input type="hidden" value="/" id="urlIndex" />

标签: asp.netasp.net-core-mvc

解决方案


正如@Stephen Muecke 指出的那样,这是设计使然。

如果您需要通过 生成/Home/Index,请@Url.Action("Index", "Home")尝试添加Route解决/Home/Index方法。

    public class HomeController : Controller
{

    [Route("/")]
    [Route("/Home/Index")]
    public IActionResult Index()
    {
        return View();
    }

推荐阅读