2011-01-05 16 views
0

グリッドのデータをビューからコントローラにどのようにポストしますか?コントローラに投稿されたときにモデルがグリッドデータを持ってくるように、モデルを作成する方法を知りたいと思います。ASP.NET MVCのビューからグリッドのデータをコントローラにポストする

私はこの

public class ViewModel 
{ 
    public virtual string Name { get; set; } 
    public virtual List<DetailModel> Details { get; protected set; } 
} 

を持っていると私はグリッド上に表示しています。私は戻ってそう

[HttpPost] 
public void Save(ViewModel model) 
{ 
    repository.SaveDetails(model.Details); 
} 

私は現在MVCContribのグリッドを使用していますが、スニペットはこれを行うことができるはずのようなコントローラへViewModelを投稿する際に、他のグリッド・実装ができるはずであるそれを取ることができるようにしたいですMVCのデフォルトのDetailテンプレートでもそれを適用することができます。

答えて

2

グリッドにこのデータを表示するには、それをどこかからフェッチしておく必要があります。なぜそれを掲示するのですか?単にidを送信して、同じデータソースから再フェッチするだけです。一方、グリッドでユーザーがデータを変更できるようにする場合は、通常は入力フィールドにHTML <form>を使用します。

バインディングに関しては、投稿アクションのビューモデルを正常に再構築できるように、リクエストパラメータに名前を付ける方法を説明するblog postがあります。

+0

私はブログ記事を試しています。私はフォームの入力フィールドには参加しませんでした。これは、セルごとに1つのフォーム要素を意味しますか?ユーザーがグリッド上で行う各編集はどこに保存しますか?私は彼がすべての変更を加えて、送信ボタンをクリックするまで、彼の編集を維持したくありません。 – Jonn

関連する問題