繁体   English   中英

在ASP.Net Core 2中使用标签助手生成一个不错的URL

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM