簡體   English   中英

ASP.Net MVC將標簽值回發給控制器

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM