簡體   English   中英

在剃刀中使用for循環填充下拉列表

[英]Populating a dropdown list using a for loop in razor

我知道這不是最佳做法,但是我很好奇您如何使用剃刀中的for循環填充dropdownlist

我正在嘗試這樣做

@{
      int year = DateTime.Now.Year;

      @Html.DropDownListFor(model => model.ResolutionYear, new List<SelectListItem>
      {
          for (var i = 0; i < 10; i++)
          {
              if (year - i == year)
              {
                  new SelectListItem() { Text = (year - i).ToString(), Value = (year - i).ToString(), Selected = true };
              }
              else
              {
                  new SelectListItem() { Text = (year - i).ToString(), Value = (year - i).ToString() };
              }
          }
        })
}

似乎不喜歡我的操作方式,因為它一直在高喊我} expected我每個開放式括號都有所有的封閉式括號。 也許我在DropDownList我的DropDownList錯誤? 是否有可能以這種方式填充?還是應該在控制器中進行填充?

不要這樣 保持您的觀點盡可能良性。 使用您的視圖模型和控制器,這就是它們的用途。 但是出於好奇,這是一種方法:

@{ var year = DateTime.Now.Year; }
<select>
@for (var i = year; (i > year - 10); i--)
{
    if (i == (year - 3))
    {
        <option value="@i" selected>@i</option>
    }
    else
    {
        <option value="@i">@i</option>
    }
}
</select>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM