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

How to use mvc routing url formate in .net core 1.0?

在.net core中,不可以使用mvc路由吗?我用过这个:

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

我的行动:

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

        return View();
    }

但如果我使用 url 类似 /Profile/index?profileId=1 的东西,它工作正常,但如果我使用 /Profile/index/1,则该操作不起作用。表示 profileId 为空。为什么我会这样 - 有什么我遗漏的吗?

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

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

public IActionResult Index(string id)

所以它匹配路由,或者您可以将路由定义修改为

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

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