【发布时间】:2021-04-14 12:58:06
【问题描述】:
我有一个显示搜索结果详细信息的剃须刀页面(即,单击搜索页面上的搜索结果链接会发布到详细信息页面)。详情页模型有四个从帖子写入的属性,用于回帖到搜索页:
[BindProperty]
public string PhysicianInput { get; set; }
[BindProperty]
public string LastNameInput { get; set; }
[BindProperty]
public string FirstNameInput { get; set; }
[BindProperty]
public int SelectedPhysician { get; set; }
为了消除任何其他问题,我从模型中删除了所有其他代码,除了自动生成文件时存在的空 OnGet 方法。
页面文件如下所示:
@page
@model Registrar.Pages.Followup.Physician.DetailModel
@{
ViewData["Title"] = "Physician Detail";
}
<h1 class="page-title">Physician Detail</h1>
<div class="center" style="width:700px;">
<form method="post" asp-page="/Followup/Physician/" id="PhysicianSearch">
<div style="text-align:right;"><a href="/Followup/Physician" onclick="postBackToSearch();return false;">« Back to search results</a></div>
<input type="hidden" name="PhysicianNumber" id="PhysicianNumber" value="@Model.PhysicianInput" />
<input type="hidden" name="LastName" value="@Model.LastNameInput" />
<input type="hidden" name="FirstName" id="FirstName" value="@Model.FirstNameInput" />
</form>
<p>
Physician Number: @Model.PhysicianInput<br />
Last Name: @Model.LastNameInput<br />
First Name: @Model.FirstNameInput<br />
Selected Physician Number: @Model.SelectedPhysician
</p>
</div>
@section Scripts{
<script src="/js/physician.js"></script>
}
那里的 js 文件是一个简单的函数,只需提交表单:
function postBackToSearch() {
document.getElementById('PhysicianSearch').submit();
}
所以当我调试项目时,页面加载并且表单标签如下所示:
<form method="post" id="PhysicianSearch" action="">
操作元素留空。我搜索了高位和低位,但没有找到任何关于为什么 tagHelper 会将操作留空的指针。最重要的是,搜索页面本身使用相同的模式并且没有问题,asp-page tagHelper 按预期工作。
这是我第一个使用 asp.net core 5.0 的网站,虽然其中大部分内容都轻而易举,但我偶尔会遇到这种问题,而且由于框架没有给出任何关于问题可能的反馈调试几乎是不可能的。有谁知道这里发生了什么?
任何帮助将不胜感激。
【问题讨论】:
标签: razor-pages asp.net-core-5.0