MVC核心路由问题

时间:2017-08-16 15:30:22

标签: asp.net-mvc asp.net-core routing

我有一个MVC核心站点,默认路由设置为:

public void Configure(IApplicationBuilder app)
{
    app.UseMvcWithDefaultRoute();
}

创建规则{controller = Home} / {action = Index} / {id?}

我有一个使用标记助手生成的链接。

 <a asp-controller="Help" asp-action="privacy-policy" asp-route-id="@Model.id" target="_blank">
        privacy policy
    </a>

这会生成以下链接:

http://localhost:63110/help/privacy-policy/9b933739-15d0-4c60-a84e-29f596a179d4

但点击它我得到了404

[Route("help")]
public class HelpController : Controller
{
 [HttpGet("privacy-policy")]
 public async Task<IActionResult> PrivacyPolicy(string id)
 {
   // stuff
 }
}

我做错了什么。

1 个答案:

答案 0 :(得分:1)

您无法在{id}中使用HttpGet()参数。

您可以执行以下操作。

[HttpGet("privacy-policy/{id}")]
public async Task<IActionResult> PrivacyPolicy(string id)
{
   // stuff
}