在使用 EditorTemplate 时,如果我希望模型上的值显示在屏幕上,而且还回发到 Controller ,我应该使用什么助手?
即。如果我使用 TextBoxFor:
@Html.TextBoxFor(model => model.RoomTypeName)
...然后用户可以修改文本...
我宁愿只显示文本,但如果我使用:
@Html.DisplayTextFor(model => model.RoomTypeName)
...然后不会回传给 Controller 。
这是我显示文本的唯一方法,也是为了确保我的模型状态有效,添加第二个隐藏字段,例如:
@Html.DisplayTextFor(model => model.RoomTypeName)
@Html.HiddenFor(model => model.RoomTypeName)
我知道这行得通,但我想知道是否有更优雅的方法 - 这样我就可以显示值并将其发回,而无需将其也复制为隐藏元素?
谢谢,
标记
最佳答案
@Html.DisplayTextFor(model => model.RoomTypeName)
@Html.HiddenFor(model => model.RoomTypeName)
这是实现您想要实现的目标的非常简洁和标准的方式。
如果您要制作自己的 HTML 帮助器来做完全相同的事情,那么通过节省一行只会让将来可能阅读您的代码的其他人甚至您自己感到困惑。
关于c# - ASP.Net MVC 将标签值回发到您的 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17458569/