2016-05-12 5 views
0

ユーザーからの電子メールを保存するために部分ビューを作成しました。 部分的にページの場所が共有フォルダの下にあります。部分ビューがviewフォルダの下の任意のビューの内部でレンダリングされると、正常に動作します。それはページ、連絡先ページなどにあります。 しかし、_Layoutページのフッターに部分表示を配置すると問題が発生します。パーシャルビューでは電子メールを受け取り、データを保存していますが、それが返されるとエラーが発生します。MVC5パーシャルビューエラー

辞書に渡さモデル項目タイプ「System.Collections.Generic.List`1 [Test.Models.FAQ]」であるが、この辞書は、タイプ「Test.Models.Subscribesのモデル項目が必要'

私は

@{ Html.RenderPartial("_Sub"); } and @Html.Partial("_Sub") 
をレンダリング使用しようとした部分的なビュー私はまた、パラメータを追加しようとしましたが、同じエラーを取得します。

@{ Html.RenderPartial("_Sub",ViewData.Models.Subscribe); } and @Html.Partial("_Sub", model :Model) 

この部分的なビューは、他のビューにも同じエラーを表示させません。 ビューは検証を実行しており、データをデータベースに保存しています。

このエラーを解決する方法を教えてください。または、モデルでパーシャルビューを使用することはできませんか?

+0

この質問を確認してください:[リンク](http://stackoverflow.com/questions/2775860) /ハウツーモデルからパーツビューからパーシャルビューへ) – PhillipXT

+0

パーシャルビューには、from from電子メールを作成するためのcreateが表示されています。フォームのビューデータを使用するにはどうすればよいですか? –

+0

メッセージは自己説明的です。メインビューのモデルは 'List 'で、 '@model Test.Models.Subscribes'を持つパーシャルに渡します。部分的に 'Subscribes'のインスタンスを渡す必要があります。たとえば' @ {Html.RenderPartial( "_ Sub"、new Subscribes()); } ' –

答えて

1

辞書に渡さモデル項目タイプ「System.Collections.Generic.List`1 [Test.Models.FAQ]」であるが、この辞書は、タイプ「Test.Models.Subscribesのモデル項目が必要'

2つの異なるモデルを1つの強く型付けされたビューに渡しているようです。レイアウトにモデルを部分的に渡すと、生成されたビューから別のモデルを満たすことになります。 モデルのラッパーにモデルをラップするか、タプルを使用してみてください。Multiple models in a view

+0

モデルを部分ビューから削除していただきありがとうございます。任意の問題を解決しました –

+0

モデルの新しいインスタンスを作成し、インスタンスを渡すことで問題が解決されます –