我有一个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
}
}
我做错了什么。
答案 0 :(得分:1)
您无法在{id}
中使用HttpGet()
参数。
您可以执行以下操作。
[HttpGet("privacy-policy/{id}")]
public async Task<IActionResult> PrivacyPolicy(string id)
{
// stuff
}