模型变量在传入视图时不一致
本文关键字:视图 不一致 变量 模型 | 更新日期: 2023-09-27 18:02:48
我甚至不知道这是怎么可能的,但是我隐藏的输入值并不是模型中实际存在的。
这是一个包含添加到dom的表单的部分视图。dom中没有其他表单或输入。
下面显示了2个不同的指南。添加以查看调试器外部的值。在返回部分之前,我还看到了2个不同的值。
@Html.DisplayFor(m => m.ID)
@Html.DisplayFor(m => m.StaffID)
还有
@Html.HiddenFor(m => m.StaffID)
@Html.HiddenFor(m => m.ID)
当我检查dom时,ID和StaffID都包含StaffID,但是呈现给视图的模型有2个不同的guids。
这是jquery加载视图
$(document).on('click', 'span[data-target="#modal-facility-staff-schedule-edit"]', function (e) {
e.preventDefault();
WebUI.showPleaseWait();
var id = $(this).closest('tr').attr('id');
$.ajax({
type: "GET",
url: "../Management/FacilityStaffScheduleEdit",
data: { id: id },
success: function (data) {
$('body').append(data);
$('#modal-facility-staff-schedule-edit').modal('toggle');
WebUI.reloadMasking();
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
WebUI.handleError(XMLHttpRequest, textStatus, errorThrown);
},
complete: function () {
WebUI.hidePleaseWait();
}
});
});
添加我在视图
中添加了以下内容@Html.HiddenFor(m => m.ID)
@Html.HiddenFor(m => m.StaffID)
<input id="ID" name="ID" type="hidden" value="@Model.ID">
<input id="StaffID" name="StaffID" type="hidden" value="@Model.StaffID">
DOM结果(HOW? ? ? ? ? ? ?)
<input id="ID" name="ID" type="hidden" value="535e8d84-e770-48ee-8e82-56daa63fd603">
<input id="StaffID" name="StaffID" type="hidden" value="535e8d84-e770-48ee-8e82-56daa63fd603">
<input id="ID" name="ID" type="hidden" value="da6d7e8b-3b90-41dc-88d8-98748154cba1">
<input id="StaffID" name="StaffID" type="hidden" value="535e8d84-e770-48ee-8e82-56daa63fd603">
我找到了答案。如果有人想知道为什么,请看看这篇文章。
https://blogs.msdn.microsoft.com/simonince/2010/05/05/asp-net-mvcs-html-helpers-render-the-wrong-value/