我使用MVC 3 w/Razor並使用新的動態ViewBag屬性。我想用EditorFor/LabelFor Html助手使用ViewBag屬性,但無法弄清楚語法。ASP.Net MVC,動態屬性和EditorFor /標籤
該視圖確實有@model集,但我嘗試使用的對象不是該模型的一部分。我知道我可以創建一個ViewModel,但這不是我所追求的。
任何人都可以幫忙嗎?
控制器:
var myModel= _repo.GetModel(id);
var newComment = new Comment();
ViewBag.NewComment = newComment;
return View(myModel);
查看:
@model Models.MyModel
@(Html.EditorFor(ViewBag.NewComment.Comment))
做這個工作? – 2013-04-19 09:01:42
@bahadirarslan這不起作用(表達式樹不能包含動態表達式)。作爲一種可能的解決方法,您可以將動態模型轉換爲其基礎類型(請參閱我對此解決方法的回答)。 – 2014-05-15 11:10:25
這對定製編輯器也不起作用。例如,在你的模型上使用像這樣的'[DataType(DataType.Html),UIHint(「tinymce_jquery_full」),AllowHtml]'的UIHint。最好創建一個局部視圖並將模型對象傳遞給它。 – 2016-02-15 16:38:31