Asp.net mvc 3 不要从父视图加载局部视图
我有一个父视图和一个局部视图,但是当它试图从父视图加载局部视图时,会出现以下错误 传递到字典的模型项的类型为“System.Data.Objects.DataClasses.EntityCollection`1[RolMVC3.Models.OFFICE]”,但此字典需要类型为“RolMVC3.Models.OFFICE”的模型项 局部视图:Asp.net mvc 3 不要从父视图加载局部视图,asp.net-mvc-3,Asp.net Mvc 3,我有一个父视图和一个局部视图,但是当它试图从父视图加载局部视图时,会出现以下错误 传递到字典的模型项的类型为“System.Data.Objects.DataClasses.EntityCollection`1[RolMVC3.Models.OFFICE]”,但此字典需要类型为“RolMVC3.Models.OFFICE”的模型项 局部视图: @model RolMVC3.Models.OFFICE @Html.HiddenFor(model => model.IdOffi
@model RolMVC3.Models.OFFICE
@Html.HiddenFor(model => model.IdOffice)
@Html.HiddenFor(model => model.IdSCampus)
<div class="editor-label">
@Html.LabelFor(model => model.AddressOffice)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.AddressOffice)
@Html.ValidationMessageFor(model => model.AddressOffice)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.PhoneOffice)
</div>
<div class="editor-field">
@Html.EditorFor(model => model..PhoneOffice)
@Html.ValidationMessageFor(model => model..PhoneOffice)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.EmailOffice)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.EmailOffice)
@Html.ValidationMessageFor(model => EmailOffice)
</div>
祝福你能展示一下RolMVC3.Models.OFFICE和CAMPUS\u UNIVERSITY对象的样子吗?我猜你的校园大学模式有点奇怪。.OFFICE字段是紧密转换为OFFICE对象还是可枚举?您可能可以通过在视图中传入Model.OFFICE[0]来快速测试这一点。看起来您传递的类型与预期的不同。从您的观点来看,我无法理解视图需要的是“OFFICE”类型的对象。您确定传递给部分视图调用的模式是同一类型的吗?或者您正在传递办公室列表吗?您的管理员有代码
OFFICE office = db.OFFICE.Single(c => c.IdOffice == id);
CAMPUS_UNIVERSITY campus_university = db.CAMPUS_UNIVERSITY
.Single(s => s.IdSede == office.IdCampus);
但是您的视图仅使用模型CAMPUS\u UNIVERSITY
。我假设CAMPUS\u UNIVERSITY.Office
属性是一个EntityCollection
,它与Office
的视图要求不匹配
一种解决方案是显示所有办公室:
@foreach(var office in Model.OFFICE)
{
@Html.Partial("_Office", office)
}
另一种方法是实际使用在控制器中创建的办公室
控制器(添加)
查看(更改)
请张贴您的
校园\大学
模型课。
OFFICE office = db.OFFICE.Single(c => c.IdOffice == id);
CAMPUS_UNIVERSITY campus_university = db.CAMPUS_UNIVERSITY
.Single(s => s.IdSede == office.IdCampus);
@foreach(var office in Model.OFFICE)
{
@Html.Partial("_Office", office)
}
ViewBag.Office = db.OFFICE.Single(c => c.IdOffice == id);
@Html.Partial("_Office", ViewBag.Office)