我在 mvc3 上开发了一个简单的 Web 应用程序,我有一个主布局,它包含一个局部视图,我有一个包含该主布局的主视图。
我想将两个模型传递给我的视图,一个模型传递给局部视图,一个模型传递给主视图。
这是可能的主布局:
@Html.Partial("_PartialMaster")
@{Html.RenderAction("paction", "Home");}
<div>
@RenderBody()
</div>
和我的部分观点:
@model test.Models.MyModel1
<div>
@Html.ValueFor(m=>m.value1)
</div>
我的模型:
public class Model1
{
public string value1 { get; set; }
}
public class Model2
{
public string value2 { get; set; }
}
这些是我的行动:
public ActionResult Index()
{
return View();
}
public PartialViewResult paction()
{
Model2 m2 =new Model2();
m2.value1="123";
return PartialView("_PartialMaster",m2);
}
在这里它工作正常并在局部视图中传递模型二,您可以在局部视图中使用它,但现在我将模型一传递给我的局部视图,它工作正常但是当我想将模型二传递到我的主视图并更改主控制器时对此:
public ActionResult Index()
{
Model1 m1 = new Model();
m1.value1 = "abc";
return View(m1);
}
它会出错:
The model item passed into the dictionary is of type 'test.Models.Model2', but this
dictionary requires a model item of type 'test.Models.Model'.
我该如何处理?