c# - foreach 循环,其中顺序需要特定

标签 c# sorting razor foreach element

我正在尝试浏览一系列运输方式,然后将它们作为选项设置在表格中。问题是我的运输方式被打乱了,我们不想在我们的数据库中重新排列它。这意味着我需要遍历所有元素,但按照以下 shipmethodID 的顺序:11、13、12。

以下是代码片段:

@foreach (var shippingMethod in availableShippingMethods)
{
    bool chosen = false;
    if (choosenShippingMethod != null)
    {
        if (choosenShippingMethod.Id == shippingMethod.Id)
        {
            chosen = true;
        }
    }
    else
    {
        chosen = counter == availableShippingMethods.Count();
    }
    <td>
        ... some html here ...
    </td>
}

最佳答案

在您的数据库表中创建一个名为 sorting_order 的列,从您的查询或 View 中对该列进行排序,您就完成了。灵活、可重复使用、检查。

永远不要依赖永不改变的 ID 或其他奇怪的逻辑。您无法维护此类软件。

关于c# - foreach 循环,其中顺序需要特定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46545421/

相关文章:

c# - 在 C# 中,我应该使用 Enum、static Class、Dictionary 还是 Struct 来表示这些 "labeled floats"?

sorting - 功能快速排序是否有可能比命令快速排序运行得更快?

c# - 对于 mvc 4 的文本框,空字符串返回 null

c# - 并行 http 请求

c# - 使用 OpenXml SDK 2.0 在 Word 中克隆 ParagraphProperties

c# - 购物车中的特殊逻辑\算法

java - 如何合并具有相同/公共(public)字段的对象?

python - python 中的插入排序?

asp.net-mvc-3 - ASP.NET MVC 3.0 Razor,从任何地方开箱即用加载 View ?

asp.net-mvc - 无法加载文件或程序集“System.Web.WebPages.Razor、Version=2.0.0.0、Culture=neutral”或其依赖项之一