ASP.Net MVC将标签值回发给控制器
当使用EditorTemplate时,如果我希望模型上的值显示在屏幕上,还要发布回控制器,我应该使用什么帮助器?
即。 如果我使用TextBoxFor:
@Html.TextBoxFor(model => model.RoomTypeName)
…然后用户可以修改文本…
我宁愿只显示文字,但如果我使用:
@Html.DisplayTextFor(model => model.RoomTypeName)
…然后不会回发给控制器。
因此,我可以显示文本的唯一方法,也是为了确保我的模型状态有效,添加第二个隐藏字段,例如:
@Html.DisplayTextFor(model => model.RoomTypeName) @Html.HiddenFor(model => model.RoomTypeName)
我知道这有用,但我想知道是否有更优雅的方式 – 所以我可以显示值,并将其发回,而不需要将其复制为隐藏元素?
谢谢,
标记
@Html.DisplayTextFor(model => model.RoomTypeName) @Html.HiddenFor(model => model.RoomTypeName)
这是做你想要达到的目标的非常干净和标准的方式。
如果您要创建自己的HTML帮助程序,它完全相同,那么通过保存一行就会混淆将来可能会读取您的代码的其他人,甚至是您自己。