Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 不要从父视图加载局部视图_Asp.net Mvc 3 - Fatal编程技术网

Asp.net mvc 3 不要从父视图加载局部视图

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

我有一个父视图和一个局部视图,但是当它试图从父视图加载局部视图时,会出现以下错误

传递到字典的模型项的类型为“System.Data.Objects.DataClasses.EntityCollection`1[RolMVC3.Models.OFFICE]”,但此字典需要类型为“RolMVC3.Models.OFFICE”的模型项

局部视图:

@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)