【发布时间】:2021-04-17 12:35:26
【问题描述】:
我有一个显示我的应用程序页面的 .cshtml 文件。在应用程序中,有一个顶部菜单,其中有不同的按钮。代码是:-
<div id="top_menu">
<form action="@Url.Action("Pause", new { sessionId = Model, schoolId = ViewData["SchoolId"] })" method="post">
<button type="submit">Pause</button>
</form>
<button id="score_button" type="button" class="text-group">
<span>Score:</span>
<span style="font-size: 1.5em" data-bind="text: score"></span>
</button>
<span id="elapsed_time" class="text-group">
<span>Time elapsed:</span>
<span style="font-size: 1.5em" data-bind="text: time"></span>
</span>
<button type="button" onclick="SR.ERSIM.showInfo('info_resources')">
<i class="fas fa-check"></i> Resources
</button>
<form action="@Url.Action("Instructions")" method="get" target="_blank">
<button type="submit">
<i class="far fa-life-ring"></i> Help
</button>
</form>
</div>
现在其他一切正常,但最后一个按钮“帮助”应该重定向到控制器的指令操作,但它总是重定向到控制器的索引操作。我无法弄清楚这个问题。如何重定向到指令操作?
我的控制器代码:-
[Route("Schools/{schoolId:int}/VC/EmergencyRoom")]
public EmergencyRoomController(IEmergencyRoomRepository emergencyRoomRepository,
EmergencyRoomService emergencyRoomService, ISessionRepository sessionRepository)
{
this.emergencyRoomRepository = emergencyRoomRepository;
this.emergencyRoomService = emergencyRoomService;
this.sessionRepository = sessionRepository;
}
[HttpGet("{sessionId:long}")]
[ResponseCache(NoStore = true)]
public async Task<IActionResult> Index(long sessionId, int schoolId)
{
Sessions session = await this.sessionRepository.GetSessionAsync(sessionId,
this.User.GetUserId());
if (session == null)
{
return NotFound();
}
ViewData["SchoolId"] = schoolId;
return this.View(session.Id);
}
[HttpGet("Instructions")]
[AllowAnonymous]
public ViewResult Instructions()
{
return this.View();
}
【问题讨论】:
-
表单是否嵌套在另一个表单中?如果是这样,那不是合法的 HTML。
-
你能在指令方法上放一个断点,看看它是否到达那个方法或指令方法。我得到目标 _bank 可能是删除该目标的罪魁祸首
标签: c# asp.net .net razor asp.net-core-mvc