Определение целого числа динамически в бритве - PullRequest
0 голосов
/ 26 июня 2018

Я хочу определить список выбора в Razor.В списке выбора есть четыре элемента: текущий год +1, текущий год, текущий год-1 и т. Д.Я хочу создать этот список в клиенте, поэтому я пишу код ниже:

 @{
    int year = DateTime.Now.Year;
 }

<select id="drpYillar"> 
  <option value="1">@year+1 </option>
  <option value="2">@year </option>
  <option value="3">@year-1 </option>
  <option value="4">@year-2 </option>
</select>

Элементы списка выбора отображаются как 2018 + 1, 2018 , 2018-1 и 2018-2 соответственно.Как мне назначить их как 2019, 2018,2017,2016 ?

Заранее спасибо. *

Обновление 1: Когда я пишу вопрос, у меня создается впечатление, что он создается на стороне клиента.Как заявил г-н Стивен Мюке, все это генерируется на стороне сервера.Так что вопрос становится бессмысленным.Решение Стивена Мюке в комментарии о том, что генерация лет в контролере - самый рациональный ответ.

1 Ответ

0 голосов
/ 26 июня 2018

После предупреждения Стивена Мюке, генерирующего представление бритвы о том, что использование знака @ в любом месте синтаксиса бритвы на самом деле является кодом на стороне сервера, я пишу код на стороне клиента, чтобы заполнить годы в раскрывающемся меню.

function populateDrpYillar()
{
  var currentYear =(new Date()).getFullYear();

  //Create array of options to be added
  var yearArray= [currentYear -2,currentYear -1,currentYear ,currentYear +1];

  var drpYears = document.getElementById("drpYears");

  //Create and append the options
  for (var i = 0; i < yearArray.length; i++) {
    var option = document.createElement("option");
    option.value = yearArray[i];
    option.text = yearArray[i];
    drpYillar.appendChild(option);
  }

}
...