[英]Generating a nice URL with tag helpers in ASP.Net Core 2
如何使用标签帮助程序生成一个不错的URL?
例如:
<a asp-controller="Article"
asp-action="FilterByTag"
asp-route-tagId="@tag.Id"
title="@tag.Description">
<span class="badge badge-dark">@tag.Title</span>
</a>
这段代码生成类似/Article/FilterByTag?tagId=2
的URL
但我想拥有/Article/FilterByTag/tagId=2
或/Article/FilterByTag/2
如何使用标签助手生成此URL?
在[Route("Article/FilterByTag/{tagId}")]
类的操作上使用属性路由
或者例如
[Route("[controller]")]
public class ArticleController : Controller {
//...other actions
[HttpGet]
[Route("FilterByTag/{tagId}")] // Matches GET Article/FilterByTag/2
public IActionResult FilterByTag(int tagId) {
//...
return View();
}
}
这样,当从标记助手中引用操作时,生成的链接将映射到该操作的路由模板,并返回所需的格式,如Article/FilterByTag/2
属性路由需要更多的输入来指定路由。 常规的默认路由可以更简洁地处理路由。 但是,属性路由允许(并要求)精确控制将哪些路由模板应用于每个操作。
参考路由到控制器操作
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.