c# - 如何以 Razor 语法对 View 模型项进行排序

标签 c# asp.net-mvc razor

我正在遍历 Model.Images 并显示缩略图库。我希望“主”图像始终首先显示在页面上。 “主”图像是我在对象 Image 中设置的标志/属性。它称为 IsMain,它是一个 bool 值。我不确定如何在代码隐藏中对其进行排序或在 razor 的页面中对其进行排序,以便始终首先显示属性 IsMain 设置为 true 的图像?

这是我显示所有图像的地方。

<ul id="sortable">
  @foreach (var image in Model.Images) {
  <li class="col-sm-6 col-md-4">

    <div class="thumbnail">
      <a class="close" href="#">×</a>
      @{ var base64 = Convert.ToBase64String(image.ImageThumbnail); var thumbSrc = String.Format("data:image/gif;base64,{0}", base64); var base64Modal = Convert.ToBase64String(image.Image); var imgSrcModal = String.Format("data:image/gif;base64,{0}", base64Modal);
      var imageId = "pop" + image.YogaSpaceImageId; var imagesourceId = "imagesource" + image.YogaSpaceImageId; }
      <a class="image" id="@imageId" href="" data-toggle="modal" data-target="#myModal">
        <img id="@imagesourceId" src="@thumbSrc" data-imagesrc="@imgSrcModal" alt="image not found" width="203" height="136" />
      </a>
      <div class="caption">
        <h3>Thumbnail label</h3>
        <p>...</p>
        <p><a href="#" class="btn btn-primary" role="button">Button</a>  <a href="#" class="btn btn-default" role="button">Button</a>
        </p>
      </div>
    </div>

  </li>
  }
</ul>

最佳答案

假设Model.ImagesList<Image> , 然后

images = Model.Images.OrderBy(i => i.IsMain).ToList();  // I think I got the syntax right, may have to check that.

应该这样做。

这可以在 Controller 或 View 中完成,以更适合您的架构的为准。

关于c# - 如何以 Razor 语法对 View 模型项进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29159629/

相关文章:

asp.net-mvc - 我可以像使用 xslt-renderings 一样在 Sitecore 中使用 Razor View 吗?

html - 如何在 window.load() 上使用 javascript 禁用 CSS 类

c# - 无法在 IDistributedCache 中等待 SetStringAsync

c# - 抽象如何检查解密尝试是否成功

c# - 如何将空值从 cmd.Parameters.AddWithValue 在 asp.net 中传递给数据库

.net - 异常处理 ASP.NET MVC Web API

c# - 无法加载文件或程序集 'DocumentDB.Spatial.Sql' 或其依赖项之一

asp.net-mvc - IIS 允许访问特定 Controller ,但不允许访问所有具有 Windows 身份验证的网站

c# - Roles.Enabled 为 true,即使 roleManger.enabled 设置为 false

javascript - 使用razor View 时无法在javascript中提供@