在ASP.NET MVC和Razor中,我有一個View(parent)調用另一個View(child)爲partial。兩者都是強類型的,但它們具有不同的模型類型。如何防止視圖將其模型傳遞給局部視圖,而是傳遞null?
通常,在這些情況下,我們將顯式地從父視圖傳遞給子視圖。
@Html.Partial("Child", Model)
我們也可以選擇不明確指定一個模型來傳遞,在這種情況下,父視圖會嘗試自己的模式傳遞給孩子查看。如果這些類型匹配並且在大多數情況下是可取的,這將起作用。
@Html.Partial("Child")
在我的情況,但是,我真想父視圖不嘗試任何東西傳遞給孩子查看。我會怎麼做?
我想試圖通過null
明確的:
@Html.Partial("Child", null)
但這還通過家長的模型子視圖,從而導致錯誤:The model item passed into the dictionary is of type 'A', but this dictionary requires a model item of type 'B'.
(作爲一個側面說明,子視圖是它的模型的創建視圖,這就是爲什麼我沒有實例傳遞給它。)
排序。更確切地說,原因是因爲當調用視圖時,從概念上講沒有該Model *的實例*。我覺得創建並傳遞一個尚不存在的模型實例並不一定只是爲了滿足視圖引擎而感到不舒服。 –