我有一张10件商品的单子.这个 idea 是将前5个用于左列,将最后5个用于右列.

然后,我将左侧的5插入到每个单独的div中(因 for each 单独的div都有一个相应的编号),并且对右侧的列也是如此.

Example HTML

<div class="parent">
    <div class="left">
        <div class="leftOne">@leftInfoOne </div>
        <div class="leftTwo">@leftInfoTwo </div>
    </div>
    <div class="right">
        <div class="rightOne">@rightInfoOne </div>
        <div class="rightTwo">@rightInfoTwo </div>
    </div>
</div>

到目前为止,我在Razor视图中做了如下操作

var allleftItems = ctx.Customers.Take(5);
var allRightItems = ctx.Customers.Skip(Math.Max(0, ctx.Customers.Count() - 2));

然后,在每个左/右div下,我声明了单个项目,如下所示

var leftInfoOne = allleftItems.Element(0)
var leftInfoTwo = allleftItems.Element(1)

除了交换名称和集合名称外,右侧div也是如此.

有没有更好的方法来实现这一点,而不是创建一个变量来保存每个元素? 我想是foreach,但每个div都是不同的,即leftOneleftTwo需要该div的适当元素?

推荐答案

您可以在标记中使用循环/循环.如果要将数字保留为样式中的单词,可以执行类似以下操作:

// somewhere in code
string[] nums = { "One", "Two", "Three", "Four", "Five" }; // TODO: move to static readonly collection
var lefts = allleftItems.Take(5);
var rights = allleftItems.Skip(5).Take(5);

加价:

</div>
<div class="parent">
    <div class="left">
        @foreach (var curr in lefts.Select((item, index) => (item, index)))
        {
            <div class="left@(nums[curr.index])">@curr.item</div>
        }
    </div>
    <div class="right">
        @foreach (var curr in rights.Select((item, index) => (item, index)))
        {
            <div class="right@(nums[curr.index])">@curr.item</div>
        }
    </div>
</div>

Csharp相关问答推荐

无法使用ternal- .net修复可空警告

在WPF.NET 6中使用C++/WinRT组件(但实际上是任何WinRT组件)

有没有一种方法可以在包含混合文本的标签中嵌入超链接?

处理. netstandard2.0项目中HttpClient.SslProtocol的PlatformNotSupportedException问题""

迭代C#List并在数据库中 for each 元素执行SELECT语句—更有效的方式?

.NET 8 Web-API返回空列表

MAUI查询参数单一字符串项将不起作用

如何使用XmlSerializer序列化带有CDATA节的XML文件?

我的MRG32k3a算法实现返回的数字超出了预期的[0,1]范围

如何在用户在线时限制令牌生成?

正在try 从Blazor中的API读取JSON

关于扩展文件类C#的矛盾

Regex字母数字校验

如何将%{v_扩展}转换为%{v_扩展}>>

RCL在毛伊岛应用程序和Blazor服务器应用程序.Net 8.0中使用页面

我应该为C#12中的主构造函数参数创建私有属性吗?

根据优先级整理合同列表

ASP.NET核心MVC|如何在控制器方法之间传递值

分别切换用于读取和写入的EF核心日志(log)

是否在异步方法中避免Span<;T>;.ToArray()?