2011-08-14 19 views
0

Telerik MVC Gridを使用し、バッチモード編集のためにhttp://demos.telerik.com/aspnet-mvc/grid/editingbatchを設定しました。私はCityが別のエンティティであるCity of Listesを持つ私のエンティティ "State"の1つを編集しようとしています。 State Entityの外観は次のとおりです。Telerik MVC3グリッド - バッチ編集の問題

public class State { 
    ...Some Scalar Properties 
    public virtual List<City> Cities { get; set; } //Navigation Property 
    public State() { 
     Cities = new List<City>(); 
    } 
} 

マイ・シティ・エンティティは、次のように状態を返します。

public class City { 
    ... Some Scalar Properties 
    public virtual State State { get; set; } //Navigation property 
} 

私は通常の方法でバッチ更新を処理しています私のコントローラでこの

@(Html.Telerik().Grid<State>() 
      .Name("tlkStateGrid") 
      .Editable(e => e.Mode(GridEditMode.InCell).DisplayDeleteConfirmation(false)) 
      .ToolBar(t => { 
       t.Insert().ButtonType(GridButtonType.Image); 
       t.SubmitChanges().ButtonType(GridButtonType.Image); 
      }) 

...Some More of code here. 

ように私のCSHTMLページのいくつかのことで、このモデルを使用しています。

public ActionResult _SaveChanges(IEnumerable<State> inserted, IEnumerable<State> updated, IEnumerable<State> deleted) { 
..... 
} 

私はTelerikグリッドのバッチ編集を使用している状態のエンティティを編集しようとすると、上記のコントローラのアクションの(IEnumerableを更新)パラメータが変更されているすべての国のためのエントリがあります。しかし、州には都市が存在しない場合でも、都市は1つの都市(null)である都市リストがあります。

私は自分のコードのどの部分にも都市を作成していませんが、上記のコントローラーアクションのパラメーターとして州を受け取ると、都市リストには空の都市があります。なぜこれが起こるのですか?

答えて

0

私はこの問題をよく理解していません。したがって、グリッドポストのときには、新しいを作成します。その州のオブジェクトには、市のオブジェクトが添付されています。それは問題ですか?それとも私は何かが恋しい?

これが問題ならば、これは正常な動作であり、予期されるはずです。これがMVC3の自動JSON逆シリアル化の仕組みです。親オブジェクトを作成し、ネストされたオブジェクトを定義しない場合、ネストされたオブジェクトはnullとして返されます。あなたのコードでnullを処理するだけです。

+0

返信いただきありがとうございますが、グリッドでバッチ編集を使用しないことにしました。それはユーザーにとってむしろ混乱していました。このような長いギャップの後でさえまだ質問に答えが出ているのを見てうれしい。すばらしいです。 – Jatin

+0

問題はありません。私が前にこれを見ていたら、私は以前に答えたでしょう。私は、バッチ編集はユーザーにとっては紛らわしいと思っていましたが、私のユーザーは実際に編集プロセスを「もっとExcelに似ている」ようにしたいと思っていました。 Go figure。 – Will

関連する問題