[英]Passing a model property to a partial view
我無法將正確的數據傳遞到局部視圖,我不確定它為什么會失敗。
說我有模特
public class SubModel {
public string Wobble {get; set;}
}
public class MyModel {
public SubModel Wibble {get; set;}
}
和意見
MyView.cshtml
@model MyModel
@Html.Partial("SomePartial", Model.Wibble)
和
SomePartial.cshtml
@model SubModel
<h1>Victory!</h1>
這失敗了The model item passed into the dictionary is of type 'MyModel', but this dictionary requires a model item of type 'MySubModel'
當我將MyView.cshtml
更改為
@model MyModel
@Html.Partial("SomePartial", Model.Wibble, new ViewDataDictionary<MySubModel>(Model.Wibble))
它按預期工作。
為什么我需要顯式傳遞ViewDataDictionary
? 為什么我不能通過模型?
注意:我正在使用一個可以讓我進入hrm的庫嗎? 很多時候。 如果不期望上述行為,則可能是此庫故障。
傳遞給局部視圖的模型為null
時會發生這種情況。 不要將null傳遞給局部視圖,否則會對其類型感到困惑。
您是否嘗試使用Model.Wibble
而不是MyModel.Wibble
傳遞子模型? 可以在具有Model的視圖中訪問關聯的模型,而不是模型的名稱。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.