我的应用程序发生了一些非常奇怪的事情:
我的ViewModel中有以下属性:
public int? StakeholderId { get; set; }
Run Code Online (Sandbox Code Playgroud)
它在部分视图中呈现如下:
<%= Html.Hidden("StakeholderId", Model.StakeholderId) %>
Run Code Online (Sandbox Code Playgroud)
提交表单,相关控制器操作生成id并更新模型,然后返回具有更新模型的相同视图
我遇到的问题是隐藏字段第二次呈现的"值"属性中没有任何内容,即使StakeholderId现在有值.
如果我只是自己输出值,它会显示在页面上,所以我通过这样做来渲染值:
<input type="hidden" id="StakeholderId" name="stakeholderId" value="<%: Model.StakeholderId %>" />
Run Code Online (Sandbox Code Playgroud)
但是帮助者没有获得更新的值这很奇怪?
(我正在使用jQuery提交表单并将动作结果呈现为div,但是我已经检查过了,我回来的html已经错了,之后jQuery对它做了什么,所以我认为这与任何东西)
UPDATE
我发现在控制器操作返回局部视图之前,我还可以清除相关的ModelState键.