我正在使用@Html.EditorFor(model => model.MyModel)
,我想將我的模型中的Id屬性添加或設置爲隱藏字段。這可以通過使用ScaffoldColumnAttribute
代碼完成,但我想在運行時執行此操作。可能嗎?在運行時設置ScaffoldColumn(false)
0
A
回答
0
0
如果你想達到什麼是調用EditorFor(m => m.MyModel)
時隱藏MyModel
實體的ID
領域,那麼你可以使用一個EditorTemplate
什麼。
在您的Views/Shared
文件夾中,創建一個名爲EditorTemplates
的新文件夾。在該文件夾中創建一個名爲MyModel.cshtml
新的視圖,其內容將是這樣的:
@model ***.MyModel
@if (Model != null) {
@Html.HiddenFor(m => m.ID)
}
@Html.LabelFor(m => m.Property1);
@Html.EditorFor(m => m.Property1);
在模型上存在的測試是在這裏處理Create
視圖。
最後,處理DisplayFor
情況下,你必須添加的模板,這也命名爲Views/Shared/DisplayTemplates/MyModel.cshtml
+0
感謝嘗試幫助,但我知道還有其他方法創建編輯器,隱藏等等。我的問題是所有關於如果我_must_使用'Html.EditorFor(model => model.MyModel)'是否有可能在運行時修改我的模型中的單個屬性,以便它在表單中不可見?我不認爲這是一個好主意,但我只是好奇,如果有可能的話 – Marcus
相關問題
- 1. HiddenInput(DisplayValue = false)] vs [ScaffoldColumn(false)]
- 2. IsHandledCreated設置爲false,但在運行時將其設置爲true?
- 3. 運行時錯誤,如果AllowBypassKey設置爲false Access運行時
- 4. ScaffoldColumn(false)不起作用
- 5. 如何將[ScaffoldColumn(false)]設置爲動態數據的默認值?
- 6. 區別:[ScaffoldColumn(false)]和[Display(AutoGenerateField = false)]
- 7. QML:SequencialAnimation的運行屬性設置爲false,但仍在運行
- 8. 在運行測試時強制將navigator.online設置爲false
- 9. 在VS2010中生成MVC 2時未檢測到ScaffoldColumn(false)
- 10. 需要幫助來解釋Readonly \ ScaffoldColumn(false)
- 11. 爲什麼不<ScaffoldColumn(False)>工作?
- 12. 在運行時Browsable(false)?
- 13. 在運行時設置ConnectionString
- 14. 在運行時設置String.Format
- 15. 在運行時設置UICollectionViewCellSize
- 16. 在運行時設置XAML?
- 17. AutoScroll設置爲false時設置AutoScrollPosition
- 18. Java在運行時設置時區
- 19. 運行時設置變量
- 20. Define ImageResizer設置運行時
- 21. 運行時設置xmx
- 22. 運行時設置CLASSPATH
- 23. 設置Liferay Tomcat運行時
- 24. 在運行時在app.config中設置defaultProxy
- 25. 如何在首次運行時將複選框的值設置爲false
- 26. PrimeFaces p:selectOneRadio在雙擊時設置爲false
- 27. 在Poltergeist中暫時設置js_errors爲false
- 28. usepager false不工作在運行時flexigrid
- 29. dataannotations scaffoldcolumn?
- 30. 如何在運行時設置字段
你爲什麼要在運行時改變它呢?你不能在模型的代碼中將它設置爲false嗎? –
@ yannick-blondeau是的我可以,我想這是一個更好的解決方案,但我只是好奇 – Marcus