asp.net core生成路由连接,请求参数如何获取和模型绑定

asp.net core中,生成一个路由连接的方法如下,

比如对应的是Group控制器下面的名为Index的Action,这样写就可以

首页
如果是admin子区域的 Group控制器下面的名为Index的Action,那么就这样写

首页
如果需要加参数的话,就需要注意了,asp.net core生成带参数的链接过于简单,但是目前文档过于少,导致很多人不知道怎么使用。

比如下面这个Group控制器中的Action

public async Task GetGroupAuthorizes(string groupId)
生成带有groupId参数的链接要这样写

修改
注意, asp-route-{参数}=""这样的格式来写。

但是这样生成的链接,如果是使用默认的路由设置是下面这个样子

http://localhost:5000/Admin/group/GetGroupAuthorizes/?groupId=6448dbf2-b96a-4262-bd1f-f21a8d6c2d7d
如果想让链接看起来更美观的话,比如像下面这个样子

http://localhost:5000/Admin/group/GetGroupAuthorizes/6448dbf2-b96a-4262-bd1f-f21a8d6c2d7d
就需要高级点的asp.net core特性, 自定义模型绑定

原来的Action代码改为

public async Task GetGroupAuthorizes([ModelBinder(Name = "id")]string groupId)
这样的话,Action参数groupId就通过自定义设置绑定了id这个参数,然后asp.net core生成的链接就变成

http://localhost:5000/Admin/group/GetGroupAuthorizes/6448dbf2-b96a-4262-bd1f-f21a8d6c2d7d








你可能感兴趣的:(asp.net)