C# 如何在razor语法中对视图模型项进行排序

C# 如何在razor语法中对视图模型项进行排序,c#,asp.net-mvc,razor,C#,Asp.net Mvc,Razor,我正在浏览Model.Images并显示一个缩略图库。我希望“主”图像始终显示在页面的第一位。“main”图像是我在对象图像中设置的标志/属性。它叫IsMain,是一个布尔值。我不确定如何在代码隐藏中或在razor的页面中对其进行排序,以便始终首先显示属性IsMain设置为true的图像 这里是我显示所有图像的地方 <ul id="sortable"> @foreach (var image in Model.Images) { <li class="col-sm-6

我正在浏览
Model.Images
并显示一个缩略图库。我希望“主”图像始终显示在页面的第一位。“main”图像是我在对象
图像中设置的标志/属性。它叫
IsMain
,是一个布尔值。我不确定如何在代码隐藏中或在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>
    @foreach(Model.Images中的var图像){
  • @{var base64=Convert.ToBase64String(image.image缩略图);var thumbSrc=String.Format(“数据:image/gif;base64,{0}”,base64);var base64Modal=Convert.ToBase64String(image.image);var imgSrcModal=String.Format(“数据:image/gif;base64,{0}”,base64Modal); var imageId=“pop”+image.YogaSpaceImageId;var imagesourceId=“imagesource”+image.YogaSpaceImageId;} 缩略标签

  • }

假设
模型。图像
是一个
列表
,然后

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


这可以在控制器或视图中完成,以更适合您的体系结构的为准。

model.images是一个icollectionso,一个集合的集合?还是你的名字很奇怪?无论如何,我相信LINQ为
ICollection
定义了一个
OrderBy
扩展方法。