2011-12-22 13 views
2

言って、私は名前はメソッド名と一致するので、詳細は必ず、この場合にはnullになりますアクションアクションパラメータにアクションと同じ名前を付けることができないのはなぜですか?

public ActionResult Details(MyModel details) 

を持っています。それを何か他の名前に変更してください。うまくいきます。 私には、それらは2つの別々のものです - 1つはurl、もう1つはPOSTデータです。 MSがこれを説明している人は誰ですか?

答えて

6

このアクションはDetailsと呼ばれているため、nullではありません。 MyModelクラスのプロパティがDetailsとなっているため、nullです。そのため、デフォルトのモデルバインダーではプロパティをMyModelまたはMyModelに直接割り当てるかどうかはわかりません。そのため、アクション引数の名前を変更するか、モデルクラスのDetailsプロパティの名前を変更します。

+0

パラメータ名が「詳細」で、MyDetailsタイプに詳細プロパティがないので、nullだと思います。 – Evgeni

+0

@Eugene、私は問題を再現できません。それを再現するための完全な例を提供できますか?あなたのビューモデル、コントローラ、およびビューはどのように見えますか?このコントローラのアクションはどのように呼び出されますか? –

+0

ええと、私は家でそれを再現しようとしました。それは働いています。私は仕事で明日二重チェックします。 Btwは、パラメータオブジェクトにパラメータ自体が指定されているプロパティがある場合はnullのままです - 原因は何ですか? – Evgeni

0

MVCの設定よりも関係があります。 これにはいくつかの制限があります。

関連する問題