4

これはどのように可能ですか? コントローラ 意見 ViewCode

2日間のヘッドバンギング。誰かが正気の説明をしているなら、それは素晴らしいことです。

を削除するEditorFor(o => o.DocumentParentID)と、[HttpPost]で受信されたときに値が0に変わるため、DBの他のレコードと一致することに注意してください。

これらはDB内の関連レコードであることに注意してください ここに画像の説明を入力してください

4

2 に答える 2

7

ルートの Id パラメータに一致するため、ID プロパティの値は 6 です。デフォルトのモデル バインダーも URL でこれらのプロパティを探しているようです。

アクション メソッドのパラメーター名または StatusClient クラスの ID プロパティの名前を変更すると、正常に動作するはずです。

また、ビューに追加しない場合EditorFor(o => o.DocumentParentID)、DocumentParentID はアクション メソッドにポストバックされず、デフォルト値 0 が取得されます。

于 2012-09-06T14:12:08.737 に答える
0

あなたが何を求めているのかよくわかりませんが、EditorFor がページにないときに ) がデフォルトで intto DocumentParentID になるのはなぜだと思いますか?

modelbinder はオブジェクト タイプのデフォルト値をバインドするため、DocumentParentID を Int32 として定義した場合、modelbinder は post で 0 にバインドします。DocumentParentID が Int32? として定義されている場合、モデルバインダーはポストで null にバインドされます。

于 2012-09-06T14:11:07.840 に答える