私はMVC 3 w/Razorを使用しており、新しい動的ViewBagプロパティを使用しています。私はEditorFor/LabelFor HTMLヘルパーでViewBagプロパティを使用したいが、構文を理解することはできない。ASP.Net MVC、動的プロパティとEditorFor/LabelFor
ビューには@モデルセットがありますが、使用しようとしているオブジェクトはそのモデルの一部ではありません。私はViewModelを作成することができますが、それは私が何をしているのかわかりません。
誰でも手助けできますか?
コントローラ:
はvar myModel= _repo.GetModel(id);
var newComment = new Comment();
ViewBag.NewComment = newComment;
return View(myModel);
ビュー:
@model Models.MyModel
@(Html.EditorFor(ViewBag.NewComment.Comment))
これは機能しますか? –
@bahadirarslanこれは機能しません(式ツリーには動的式を含めることはできません)。考えられる回避策として、動的モデルを基になる型にキャストすることができます(この回避策については、私の答えを参照してください)。 –
これはカスタムエディタでも機能しません。たとえば、あなたのモデルでこの '[DataType(DataType.Html)、UIHint(" tinymce_jquery_full ")、AllowHtml]'のようなUIHintを使用します。部分ビューを作成し、それにモデルオブジェクトを渡す方が良いでしょう。 –