1

下の画像は、フォルダ内のPartial View GetMovieTypes.cshtml生活を示していますShared

@Html.Partial("GetMovieTypes.cshtml")EmployeeControllerのインデックスビューの行を使用して部分ビューを呼び出します

問題は、インデックスアクションを使用してEmployeeControllerを呼び出すとサーバーエラーが発生することです

部分ビュー'_GetMovieTypes.cshtml'が見つからなかったか、検索された場所をサポートするビューエンジンがありません。次の場所が検索されました。

〜/ Areas / Staff / Views / Employee / GetMovieTypes.cshtml.cshtml

しかし、名前を変更するPartialView to GetMovieTypes.cshtml.cshtmlと正常に機能します

ViewEngineが.cshtml拡張子を2回追加するように強制するのはなぜですか

ここに画像の説明を入力してください

4

4 に答える 4

7

.cshtml部分を削除します。

@Html.Partial("GetMovieTypes")
于 2012-08-20T13:59:28.487 に答える
4

あなたは単に電話する必要があります

@Html.Partial("GetMovieTypes")

ドットは、バインディングによって拡張セパレーターとして認識されません。MVCだからあなたが書くなら

「GetMovieTypes.cshtml」は、まさにその名前 cshtml拡張子を検索します。

于 2012-08-20T13:59:49.330 に答える
2

コード呼び出しをに変更する必要があります

@Html.Partial("_GetMovieTypes")

それがあなたの見解の名前なので、私はいつもそうしています。

拡張子について言及する必要はありません。それは、から呼び出している場合のみですController

私自身の例:

ここに画像の説明を入力してください

于 2012-08-20T14:00:35.867 に答える
2

.chtml拡張子を削除する必要があります。

@Html.Partial("GetMovieTypes")

次のように、「親」ビューで所有しているモデルを渡すこともできます。

@Html.Partial("GetMovieTypes", MovieTypesModel)

この方法では、ビューとその部分は同じモデルと情報を持ちます

*私は間違っているかもしれませんが、ビューの名前にもアンダースコアが含まれていると思うので、次のように呼び出す必要があります。

@Html.Partial("_GetMovieTypes", MovieTypesModel)
于 2012-08-20T14:01:23.697 に答える