我使用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