2011-10-21 23 views
1

ASP.NET MVC3モデルバインディングでのユーザー登録の処理に問題があります。ASP.NET MVC複数の部分ビュー(1ビューモデルバインディング)

私は基本的に、UserDetails(名前、ID、dobなど)と再利用可能なViewModel、Addressで構成されるViewModelを持っています。

したがって、UserDetailsクラスにはAddressクラスも含まれます。

次に、Address ViewModelへのモデルバインドを使用して部分ビューを作成しました。これにより、これも再利用できるようになりました。

ビューで、これは私がやったことです:@ Html.Partial(「CommonAddress」)

しかし、ユーザーの作成時に、私は全くそれがまだnullであるとしてアドレスを取得できませんでした。この問題を解決する方法はありますか?

答えて

0

あなたはまだモデルを持っていない場合は、あなたのコントローラの編集アクション(GETのHTTPリクエストを処理1)からデフォルト/空のモデルを渡し、ちょうど

@Html.Partial("CommonAddress", Model.Address) 

のように部分的にあなたのアドレスモデルを渡しますビューに。

+0

私のケースが編集の場合は、それを渡すことができます。もしそれが作成されたら?モデルはまだありません。そうすることで、Null参照例外が発生します。 –

+0

空のモデルを作成し、それをビューに渡しました。あなたのコメント – saintedlama

+0

に基づいて答えを変更しました。私のUserDetails ViewModelにisActiveというbool型のプロパティがあるので、これも問題になります。空のオブジェクトを作成すると、自動的にビューにfalseが割り当てられます。申し訳ありませんが、私はMVCに関しては全くノービスです。これが私の最初のプロジェクトです。 –

関連する問題