我创建了一个带有该签名的联系人控制器:
public IActionResult Index(string id)
路线表中没有什么花哨的东西:
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
在我的主视图中,我尝试创建指向联系人/索引的链接:
<a asp-controller="Contact" asp-route-id="3255">Contact me</a>
生成的链接似乎很好,并采取正确的行动。 无论有没有asp-action,生成的链接都是:
<a href="/Contact/Index/3255">Contact me</a>
但是没有设置id。 但是当我复制链接并执行“粘贴并转到”时,会设置id参数。 如果我查看页面源并单击生成的链接,它也可以工作。 单击页面上的链接时,它不起作用。
你能告诉我有什么不对吗?
答案 0 :(得分:6)
根据配置的路线,
路线需要包含action
<a asp-controller="Contact"
asp-action="Index"
asp-route-id="3255">Contact me</a>
哪个应该生成
<a href="/Contact/Index/3255">Contact me</a>