首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >当已经有另一个模型时,从剃刀上的类(cshtml)中循环列表?

当已经有另一个模型时,从剃刀上的类(cshtml)中循环列表?
EN

Stack Overflow用户
提问于 2018-06-08 06:15:34
回答 2查看 0关注 0票数 0

我的MVC项目中有一个剃须刀文件。

在这个剃须刀中,我希望遍历一个类中的对象列表。该类不在Models文件夹中,也许它必须是?我已经在使用一个

代码语言:javascript
复制
@model MVCrepetition.Models.ViewModels

现在我该如何从课堂上获得我的List

代码语言:javascript
复制
@Html.DisplayNameFor(m => m.myList)

我是否需要添加列表类作为模型并添加第二个模型?基本上,我如何导入列表来循环它?

EN

回答 2

Stack Overflow用户

发布于 2018-06-08 14:27:49

在我的索引视图中,我使用了一个模型。我的_Layout.cshtml正在使用来自另一个模型的对象循环,是什么给我带来了错误。所以我创建了一个局部视图,并使用了新模型和循环。

例如:_Dodatki部分调用模型并创建循环:

代码语言:javascript
复制
@model IEnumerable<DluzynaSzkola.Models.Aktualnosci>
<div class="wpisDodatki">
    @foreach (var item in Model)
    {
        <div class="wpisArchiwum">@Html.ActionLink(item.Tytul, "Details", new {Style="color:black!important;", id = item.ID }, new { @style = "color:black;" })</div>
    }
</div>

_Layout调用partial _Dodatki(_Layout根本不调用任何模型):

代码语言:javascript
复制
 @Html.Action("_Dodatki", "Aktualnosci", new { area = "" })

索引调用另一个模型:

代码语言:javascript
复制
@model PagedList.IPagedList<DluzynaSzkola.Models.Aktualnosci>

和控制器看起来像:

代码语言:javascript
复制
//other actions
[ActionName("_Dodatki")]
        public ActionResult Dodatki()
        {
            using (var context = new DluzynaContext())//using controllers context
            {
                var tytuly = context.Indeks.Select(item => item).ToList(); //populating list from the context
                tytuly.Reverse(); //reversing the list of titles
                return PartialView("_Dodatki", tytuly); //returning partial with the list
            }
        }
票数 0
EN

Stack Overflow用户

发布于 2018-06-08 15:31:48

最直接的方法是将此模型添加到ViewBag。不过,我会尽量避免这种情况。我的建议是用它自己的模型创建一个局部视图(需要循环的对象列表),你可以在其中定义任何你想要的东西。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100005279

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档