我有问题,我很难跳过它。
在我的_Layout.cshtml中,我正在使用IEnumerable模型:
@model IEnumerable<DluzynaSzkola.Models.Aktualnosci>
使用该模型的迭代看起来像:
<div class="wpisDodatki">
@foreach (var item in Model)
{
<div> @Html.DisplayFor(modelItem => item.Dzien)</div>
}
<p>test<br />test<br />test</p>
</div>
在主页Index.cshtml上我使用的是模型:
@model DluzynaSzkola.Models.User
加载_Layout时,尝试使用2个模型,禁止使用。
我正在尝试2种类似的方法来解决它。
第一次尝试: 创建包含以下内容的Wrap模型类:
namespace DluzynaSzkola.Models
{
public class Wrap
{
public IEnumerable<Aktualnosci> Wpisy { get; set; }
public DluzynaSzkola.Models.User UserData { get; set; }
}
}
在控制器中添加了操作:
public ActionResult Aktualnosci()
{
var Wrap = new Wrap();
Wrap.Wpisy = db.Indeks;
return View(Wrap);
}
}
创建了部分文件:_Dodatki.cshtml包含:
@model IEnumerable<DluzynaSzkola.Models.Aktualnosci>
<div class="wpisDodatki">
@foreach (var item in Model)
{
<div> @Html.DisplayFor(modelItem => item.Dzien)</div>
}
<p>test<br />test<br />test</p>
</div>
在_Layout.cshtml中调用partial:
<div>@Html.Partial("_Dodatki", Model.Wpisy)
在_Layout中使用模型:
@model DluzynaSzkola.Models.Wrap
它给了我例外:
传递到字典中的模型项的类型是&#39; System.Collections.Generic.List`1 [DluzynaSzkola.Models.Aktualnosci]&#39;,但此字典需要类型为&#39的模型项; DluzynaSzkola.Models.Wrap&#39;
第二次尝试: 在控制器中创建动作:
public PartialViewResult Load()
{
return PartialView("~/Views/Aktualnosci/_Dodatki.cshtml");
}
}
有部分文件_Dodatki.cshtml:
@model IEnumerable<DluzynaSzkola.Models.Aktualnosci>
<div class="wpisDodatki">
@foreach (var item in Model)
{
<div> @Html.DisplayFor(modelItem => item.Dzien)</div>
}
<p>test<br />test<br />test</p>
</div>
并在布局文件中调用:
@Html.Partial("~/Views/Aktualnosci/_Dodatki.cshtml")
它给了我例外:
System.NullReferenceException
在部分文件中:
Row5: @foreach (var item in Model)
第3次尝试:
使用:
调用partial@Html.Partial("~/Views/Aktualnosci/_Dodatki.cshtml", new List<DluzynaSzkola.Models.Aktualnosci>()
在渲染视图中没有给我迭代。
局部视图与之前的例子类似。
我不知道如何使用普通模型处理IEnumerable模型。
答案 0 :(得分:0)
您是否尝试为包含IEnumerable和用户的视图创建模型?
public class Wrap
{
public IEnumerable<Aktualnosci> Wpisy { get; set; }
public DluzynaSzkola.Models.User UserData { get; set; }
}
当你在我的主页上说'#34;&#34;你的意思是_Layout?