[英]ASP.Net MVC Postback a label value to your controller
使用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幫助程序,它完全相同,那么通過保存一行就會混淆將來可能會讀取您的代碼的其他人,甚至是您自己。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.