模型变量在传入视图时不一致

本文关键字:视图 不一致 变量 模型 | 更新日期: 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/