System.StackOverflowExceptionが処理されませんでした(MVC Model BINDING)

StackOverflow https://stackoverflow.com/questions/427075

  •  06-07-2019
  •  | 
  •  

質問

Model Binderを使用してフォームをポストバックすると、このエラーが発生し始めました。問題をテストするために、モデルの1つの文字列プロパティにポストバックを減らしましたが、それでもオーバーフローエラーが発生します。誰がこれを引き起こすのかを提案できますか?

更新 問題は、外部キーであるモデルのプロパティに関連しているようです。このキーが削除されると、バインディングが機能します。バインドを行い、外部キー関係を含めるにはどうすればよいですか?

役に立ちましたか?

解決

これはいくつかの方法で修正できます。 1つの方法は、このようなものを試すことです。

public ActionResult AddProduct([Bind(Exclude = "Category")]Product product) { }

これは、モデルバインダーにカテゴリ(FKプロパティ)のバインドを試行しないように指示します。これは既知の問題であり、MVCチームはすでにRC用に修正しています。

除外リストをUpdateModel / TryUpdateModelおよびバインド属性を追加した任意の場所に渡すこともできます。

他のヒント

通常、スタックオーバーフローは無限再帰が原因です。スタックトレースを調べて、同じ関数(または関数のグループ)が繰り返し表示されるかどうかを確認します。これは、再帰関数がベースケースに到達しないことを示します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top