给定视图模型类
public class Foo
{
public string Fuzz { get; set; }
public Bar Bar { get; set; }
}
public class Bar
{
public string Fizz { get; set; }
}
在控制器操作中,我将以下模型传递给视图:
View(new Foo { Fuzz = "Fizz", Bar = new Bar{ Fizz = "Fuzz" } });
在视图Foo.cshtml
中@model Foo
@Model.Fuzz
@{ Html.RenderPartial("BarPartial", Model.Bar); }
在视图中部分BarPartial.cshtml
@model Bar
@Model.Fizz
抛出错误:
传递到字典中的模型项的类型为Foo,但此字典需要Bar类型的模型项。
如何将父模型的属性传递给具有属性类型的模型的局部视图?
答案 0 :(得分:1)
public ActionResult test2()
{
return View(new Foo { Fuzz = "Fizz", Bar = new Bar { Fizz = "Fuzz" } });
}
我的观点
@model Foo
@Model.Fuzz
@{ Html.RenderPartial("_partial1",Model.Bar); }
我的部分
@model Bar
@Model.Fizz
没有不同的代码,对我来说很棒
答案 1 :(得分:0)
对不起,我刚刚发现错误:
在真实的项目中,我正在处理我传递的模型在动作代码的后续部分被设置为null。
将发生此错误:
The model item passed into the dictionary is of type Foo but this dictionary requires a model item of type Bar.
如果
View(new Foo { Fuzz = "Fizz", Bar = null });