gpt4 book ai didi

c# - ASP.NET MVC : Hidden field value does not get rendered using HtmlHelper. 隐藏

转载 作者:IT王子 更新时间:2023-10-29 03:41:52 28 4
gpt4 key购买 nike

我的应用程序发生了一些非常奇怪的事情:

我的 ViewModel 中有以下属性:

public int? StakeholderId { get; set; }

它在局部 View 中呈现如下:

<%= Html.Hidden("StakeholderId", Model.StakeholderId) %>

提交表单,相关的 Controller 操作生成一个id并更新模型,然后返回与更新模型相同的 View

我遇到的问题是隐藏字段在其第二次呈现的“值”属性中没有任何内容,即使 StakeholderId 现在有一个值。

如果我只是自己输出值,它会显示在页面上,所以我可以通过这样做来呈现值:

<input type="hidden" id="StakeholderId" name="stakeholderId" value="<%: Model.StakeholderId %>" />

但是助手没有获取更新的值是很奇怪的吗?

(我正在使用 jQuery 提交表单并将操作结果呈现到 div 中,但我已经检查过,在 jQuery 对它执行任何操作之前,我返回的 html 已经是错误的,所以我认为这没有太大意义做任何事情)

更新

后来我发现我还可以在我的 Controller 操作返回局部 View 之前清除相关的 ModelState 键。

最佳答案

助手将首先查找 POSTed 值并使用它们。当您发布表单时,它将获取 ID 的旧值。您的解决方法是正确的。

关于c# - ASP.NET MVC : Hidden field value does not get rendered using HtmlHelper. 隐藏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2019131/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com