gpt4 book ai didi

c# - 回发到 Controller 后 DropDownListFor 值为空

转载 作者:太空宇宙 更新时间:2023-11-03 21:19:41 24 4
gpt4 key购买 nike

我使用 Razor Views 在 ASP.NET MVC 4 下开发了一个 Web 应用程序。

我现在注意到 SomethingID 在回发(到 Controller )之后在 ViewModel 中是
如果我只添加 禁用 DropDownListFor 的 HTML 属性:

// SomethingID becomes 0:
@Html.DropDownListFor(m => m.SomethingID, Model.SomethingList, new { @disabled = "disabled" })

如果我删除 disabled 属性,则不会发生,SomethingID 具有正确的值:

// SomethingID keeps its value (greater than 0):
@Html.DropDownListFor(m => m.SomethingID, Model.SomethingList)

有人遇到过这个问题吗?目前,我尝试通过将值存储在 HiddenFor 字段中来解决 jQuery 的问题。

但我的问题是:是否有更好的解决方案? Microsoft 的预期行为是下拉列表一旦被禁用就会忘记所有内容吗?我做错了吗?是错误吗?

备注:我的 View 中有 5 个下拉列表,所有 5 个都显示相同的行为。

提前致谢!!!

最佳答案

您看到这种情况的原因很简单,因为具有禁用属性的元素没有将它们的值发布到服务器。看这个SO post了解更多详情。

关于c# - 回发到 Controller 后 DropDownListFor 值为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31657170/

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