微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在单选按钮中排序和显示 <IList> 元素?

如何解决如何在单选按钮中排序和显示 <IList> 元素?

我的模型中有 IList<String> 类型的数据,以 yyyyMM 格式返回字符串日期,我需要帮助以 MM/yyyy 格式以单选按钮按降序排序显示数组元素。

我的模型如下所示:

 public class DataToLoad
 {
        public List<string> Months{ get; set; }       
 }

在我看来,我有以下内容可以在单选按钮中显示数组元素。

foreach (var record in Model.Months)
{
  <div class="radio col-12">
     <div class="row">
       <div class="col-5" style="">
         @Html.RadioButton("Months",record,true,new { id = record,@class = "m-r" })<label>@record</label>
        </div>
      </div>
   </div>
}

如果 Months 返回 199008 和 19909,我需要对值进行降序排序并格式化为 MM/yyyy 并使用单选按钮 09/1990 first then 08/1990 显示这些值。有什么帮助吗?

解决方法

您可以使用此代码:

foreach (var record in Model.Months.Select(x=>$"{x.Substring(4,2)}/{x.Substring(0,4)}").OrderByDescending(x=>x))
{
     <div class="radio col-12">
        <div class="row">
          <div class="col-5" style="">
            @Html.RadioButton("Months",record,true,new { id = record,@class = "m-r" })<label>@record</label>
           </div>
         </div>
      </div>
}
,

与任何其他 C# 代码一样,使用 Linq:

   @foreach (var record in Model.Months.OrderBy(x => x))
   {
     <div class="radio col-12">
        <div class="row">
          <div class="col-5" style="">
            @Html.RadioButton("Months",@class = "m-r" })<label>@record</label>
           </div>
         </div>
      </div>
    }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。