[解決済み】NULLモデルを持つrenderpartialは、間違った型を渡される
2022-04-13 15:09:51
質問
あるページがあります。
<%@ Page Inherits="System.Web.Mvc.View<DTOSearchResults>" %>
そしてその上に、以下のように。
<% Html.RenderPartial("TaskList", Model.Tasks); %>
ここにDTOオブジェクトがあります。
public class DTOSearchResults
{
public string SearchTerm { get; set; }
public IEnumerable<Task> Tasks { get; set; }
で、以下はパーシャルです。
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<Task>>" %>
Model.TasksがNULLでない場合、すべて正常に動作します。しかし、それがNULLである場合、私は取得します。
辞書に渡されたモデル項目は、型が DTOSearchResults' ですが、このディクショナリーでは、型 'System.Collections.Generic.IEnumerable`1[Task]' です。
どのオーバーロードを使えばいいのかわからないのだろうと思い、明示的にこのようにしました(下記参照)。しかし、まだ同じ問題が発生しています
<% Html.RenderPartial("TaskList", (object)Model.Tasks, null); %>
NULLをチェックしたり、NULLを渡さないようにすることで回避できることは分かっているのですが、そういう問題ではありません。なぜこのようなことが起こるのでしょうか?
解決方法は?
Andrew あなたが得ている問題は、RenderPartial メソッドが、あなたが渡したモデルが null である場合に、呼び出し元の (view) のモデルを部分ビューに使用した結果であると思います。
<% Html.RenderPartial("TaskList", Model.Tasks, new ViewDataDictionary()); %>
役に立ちましたか?
関連
-
[解決済み] glyphicons-halflings-regular.woff2 not foundに関するエラーを削除する方法
-
[解決済み] DI向けNinjectとUnityの比較【終了しました
-
[解決済み] Automapper のタイプマップ構成がない、またはサポートされていないマッピング - エラー
-
[解決済み】1つのビューに複数のモデルを表示する
-
[解決済み】ASP.NET MVCのフォームでチェックボックスを処理するにはどうすればよいですか?
-
[解決済み] [Solved] ASP.NET MVCコントローラメソッドからJSON.NETでシリアライズされたcamelCase JSONを返すにはどうすればよいですか?
-
[解決済み] 型名または名前空間名 'DbContext' が見つかりませんでした [閉鎖]。
-
[解決済み] アクションリンクでエリア名を指定するには?
-
[解決済み] Entity Frameworkのデータベースを再作成する方法は?
-
[解決済み] NerdDinnerでASP.NET MVCでModelState.IsValidは何のために有効なのか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 辞書に渡されたモデル項目は、型が ... だが、この辞書は型のモデル項目を必要とする。
-
[解決済み] Razor View throwing "The name 'model' does not exist in the current context".
-
[解決済み】ASP.NET RazorのHTML.ActionLinkとUrl.Actionの比較
-
[解決済み】ASP.NET MVC 3 Razor - EditorForにクラスを追加する。
-
[解決済み】Java Server Faces 2.0の主なデメリットは何ですか?
-
[解決済み] datetime2 データ型から datetime データ型への変換で、範囲外の値が発生しました。
-
[解決済み] セキュリティ透過的なメソッド 'WebMatrix.WebData.PreApplicationStartCode.Start()' による試行。
-
[解決済み] MVCとRazorにおけるHtml.TextboxForとHtml.EditorForの相違点
-
[解決済み] アクションリンクでエリア名を指定するには?
-
[解決済み] NerdDinnerでASP.NET MVCでModelState.IsValidは何のために有効なのか?