2009-08-14 11 views
6

は、私は、それぞれが、彼らは例えば、自分自身を表示するために必要なすべてが含まれている自身ののViewModelクラスを持つように型付けされ、一連のビューを持っている:MVVMとASP.NET MVCフレームワークでModelBinders

public class CreateResourceViewModel 
{ 
    public Project Parent { get; set; } 
    public SelectList Categories { get; set; } 
    public Resource Resource { get; set; } 
} 

私はこのようになります使用したいのですが、このポストのアクションメソッド:私が興味オブジェクトのみがCreateResourceViewModel、ないCreateResourceViewModel自体のリソースプロパティであること

[AcceptVerbs (HttpVerbs.Post)] 
public ActionResult Create (Resource resource) 
{ 
    // Update code... 
} 

注意してください。それ以外のものはユーザーのためだけですが、更新するものはリソースクラスです...

これはMVCフレームワーク内で可能です(v2 CTPでも可能です)?

ありがとうございました

答えて

14

確かに。用途:動作しませんでした

public ActionResult Create([Bind(Prefix="Resource")]Resource resource) 
+0

こんにちは、 - リソースは、提出時にnullである... – Kieron

+2

次に、あなたの投稿フォームのいずれかがリソースを実体化するために、デフォルトのモデルバインダー、またはフォームのキーに必要な情報が含まれていません前に示したプレゼンテーションモデルと一致しません。 FirebugまたはFiddlerの投稿されたフォームを見てください。問題を把握できない場合は、それとリソースタイプ宣言の両方をここに投稿してください。 –

+3

ああ!私は手動でデータをhtml(Html.TextBox( "Name"、Model.Resource.Name))に入れていましたが、これをHtml.TextBox( "Resource.Name")に変更して、すべて正常でした。クレイグ! – Kieron

関連する問題