首页 > 解决方案 > Home/Index 中的 ASP.NET Core MVC 路由参数

问题描述

我有一个关于 ASP.NET Core MVC 路由的问题。我有一个默认路由定义,我可以通过以下路由访问主页。

/Home/Index/123
/Home/Index
/Home
/

但我需要处理 /123 例如: www.mypage.com/123

而不是www.mypage.com/?id=123www.mypage.com/home/index/123

我无法配置我的路由配置来实现我的目标:(

标签: c#asp.net-coreasp.net-core-mvcasp.net-mvc-routing

解决方案


使用以下路由属性:

[Route("Home/Index/{id?}")] // http://localhost:4935/home/index or http://localhost:4935/home/index/7
[Route("Index/{id}")] // http://localhost:4935/Index/5555     
[Route("{id?}")]  // http://localhost:4935/7777 or http://localhost:4935/  
public IActionResult Index(int? id)
{
    return View((object)id);       
}

风景:

@model int?
@{
    ViewData["Title"] = Model.HasValue ? Model.ToString() : "< No Id > ";    
}
@* 
   The view content 
*@

推荐阅读