为了账号安全,请及时绑定邮箱和手机立即绑定

将参数从视图传递到控制器,标签助手在提交时不起作用

将参数从视图传递到控制器,标签助手在提交时不起作用

C#
慕村225694 2023-09-16 17:04:47
我正在使用 ASP.NET Core 2.2。我正在尝试使用用 asp 标签助手装饰的提交按钮将 ID(Guid)从我的视图传递到我的控制器 Index,如下所示:<input type="submit" value="Go" asp-controller="MyController" asp-action="Index" asp-route-id="@Model.Id" />我的控制器操作方法如下所示:public IActionResult Index(Guid id){    return View();}单击提交按钮时,id 始终以 Guid.Empty 形式出现。我已切换为使用具有相同标记帮助器值的锚标记,并且 id 已正确填充:<a asp-controller="MyController" asp-action="Index" asp-route-id="@Model.Id">Go</a>我可以通过将锚点设计为看起来像按钮来解决这个问题,但为了理解,有人可以解释为什么锚点可以在这种情况下工作,而提交按钮则不行吗?已更新(使用生成的 HTML)带提交的 HTML<form>    <div class="d-flex">        <input type="submit" value="Go" formaction="" />    </div></form>带锚点的 HTML<form>    <div class="d-flex">        <a href="/MyController?Id=2590bc68-6784-4174-90f5-e7ceb1b4d0e9">Go</a>    </div></form>
查看完整描述

1 回答

?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

将 放在asp-route-id="..."表单标签中,而不是放在按钮中。



查看完整回答
反对 回复 2023-09-16
  • 1 回答
  • 0 关注
  • 81 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信