我有一个带有两个页面处理程序的剃刀页面:
public IActionResult OnGetDisTest(int Id)
{
discussion = _service.GetDiscussion(Id, null);
return Page();
}
public IActionResult OnGetDisTestThread( int Id)
{
discussion = _service.GetDiscussion(null, Id);
return Page();
}
使用锚标记中的标记帮助程序访问它们可以正常工作:
<div class="col-md-4">
<a asp-page="/DisTest" asp-page-handler="DisTest" asp-route-Id=@RandomNumber()> Click for Random Discussion Test by Id</a>
</div>
<div class="col-md-4">
<a asp-page="/DisTest" asp-page-handler="DisTestThread" asp-route-Id="38796"> Click for Discussion Test by ThreadId, No replies</a>
</div>
这会产生类似......
的html<a href="/DisTest/773?handler=DisTest"> Click for Random Discussion Test by Id</a>
尝试在表单中使用它时(这些都在razor页面之外的MVC视图页面上),如下所示:
<form asp-page="/DisTest" asp-page-handler="DisTestThread" method="get">
<label>Enter thread Id</label>
<input type="number" name="Id" />
<button class="btn btn-default" type="submit">Show Discussion </button>
</form>
这就是它产生的结果:
<form method="get" action="/?page=%2FDisTest&handler=DisTestThread">
<label>Enter thread Id</label>
<input type="number" name="Id">
<button class="btn btn-default" type="submit">Show Discussion </button>
</form>
哪个不起作用。我使用标签助手在剃刀内找到了许多表格示例,但没有链接到剃刀页面。怎么样?