如何在.net core 1.0中使用mvc routing url formate?

时间:2017-08-26 10:23:38

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

在.net核心中,是不是可以使用mvc路由?我用过这个:

        app.UseMvc(routes =>
        {
            routes.MapRoute(
                name: "default",
                template: "{controller=Landing}/{action=Index}/{id?}");
        });

和我的行动:

    public IActionResult Index(string profileId)
    {
        this.ProfileId = profileId;

        return View();
    }

但如果我使用类似/Profile/index?profileId=1之类的网址,它可以正常工作,但如果我使用/Profile/index/1,则该操作无效。表示profileId为空。为什么会发生这种情况 - 我有什么遗漏的吗?

我尝试在索引方法中使用[FromQuery][FromRoute],但这也不起作用。

1 个答案:

答案 0 :(得分:2)

您的路线参数名为id(不是profileId),因此将方法更改为

public IActionResult Index(string id)

因此它匹配路线,或者您可以将路线定义修改为

template: "{controller=Landing}/{action=Index}/{profileId?}");

但这可能会影响您拥有的其他方法