1

私はこれに少し慣れていません。部分的なビューを含むページを表示するのに問題があります。誰かに私の構造を調べてもらい、私が間違っていることを指摘してもらいたいと思います。

これは私のメインページで、他のかみそりページのコンテンツを表示します。

自己紹介ページ:

@model Project.Models.PasswordModel
@{ ViewBag.Title = "Profile Page"}

//right column
@if(ViewBag.HasLocalPassword)

{ @Html.Partial("passwordChange") }

else { @Html.Partial("passwordSet")}

//left column

@Html.Partial("username")
@Html.Partial ("biography")

ユーザー名と経歴のかみそりのビューページを作成したとき、これは[ビューの追加]ボックスに表示されていたものです。

ビューエンジン:Razor(cshtml)「レイアウトまたはマスターページを使用する:」のみがチェックされ、下のボックスは空のままになりました(Razor _viewstartファイルで設定されている場合は空のままにします)

ページ全体をレンダリングすると、すべての異なる部分が表示されますが、ユーザー名と経歴の領域は、それを行っていないデータベースからのデータで埋められているはずです。usernameデータベースからの適切な情報が表示されているページに実際にリダイレクトするようにURLを変更した場合のみ。

新しいパスワード情報を入力した後で[パスワードの変更]ボタンをクリックすると、次のエラーメッセージが表示されます。

The model item passed into the dictionary is of type 'Project.Models.PasswordModel', but this dictionary requires a model item of type 'Project.Models.UserNameModel'.

さまざまなかみそりのビューページを1つまたは正しい構造に適切に表示する方法についてのヘルプがあれば、私を助けてください。

4

1 に答える 1

0

私は通常、ここのような部分的なビューのためにコントローラへの ajax 呼び出しを使用します。

コードの場合、呼び出しでモデルをパーシャルに渡すことができます

@Html.Partial("_passwordSet", Model.passwordSet)

ビューモデルがある場合は、ビューモデルの一部をパーシャルに渡すか、完全なモデルを渡すことができます。何が最もうまくいくか。

于 2013-10-16T03:17:18.423 に答える