7
当使用EditorTemplate时,如果我想让模型上的值显示在屏幕上,并且还要发送回控制器,我应该使用什么帮助器?ASP.Net MVC将标签值回发给您的控制器
即。如果我使用TextBoxFor:
@Html.TextBoxFor(model => model.RoomTypeName)
...那么用户可以修改文字...
我宁愿只显示文本,但如果我使用:
@Html.DisplayTextFor(model => model.RoomTypeName)
。 ..然后这不是回发给控制器。
所以我是可以显示文本,并确保我的模型状态是有效的,添加第二个隐藏字段,例如,唯一的办法:
@Html.DisplayTextFor(model => model.RoomTypeName)
@Html.HiddenFor(model => model.RoomTypeName)
我知道的作品,但我想知道是否有一种更优雅的方式 - 这样我就可以显示值并将其发回,而不需要将其作为隐藏元素复制?
谢谢
马克
使用'HiddenFor'已经非常优雅和标准的这些东西。 – sed
好的,谢谢史蒂夫 - 我认为MVC/C#可能有一个“一个帮手适合所有” - 但如果这是答案,那么请张贴它,我会标记是这样的。干杯,马克 – Mark
从外观上看,你可能想重新考虑你的UI逻辑。将“一切”(包含标签)发回到网络服务器是一种WebForms类型的事情。在MVC中,仅回发必要的内容并简单地从数据库/缓存中检索所需的值是非常标准的。再次,_might_,我不知道你的全部情况,并且可能有一个合理的理由来实现这种逻辑。 –