Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 在Razor中动态定义整数_Asp.net Mvc_Razor - Fatal编程技术网

Asp.net mvc 在Razor中动态定义整数

Asp.net mvc 在Razor中动态定义整数,asp.net-mvc,razor,Asp.net Mvc,Razor,我想在Razor中定义selectlist的列表。selectlist有四个元素,它们是当前年份+1、当前年份、当前年份-1等等。我想在客户机中创建此列表,因此我编写以下代码: @{ int year = DateTime.Now.Year; } <select id="drpYillar"> <option value="1">@year+1 </option> <option value="2">@year </o

我想在Razor中定义selectlist的列表。selectlist有四个元素,它们是当前年份+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>
@{
int year=DateTime.Now.year;
}
@年+1
@年
@第一年
@第二年
selectlist项目分别显示为2018+1、2018、2018-1和2018-2。我如何任命他们为2019、201820172016

提前谢谢*


更新1:当我写问题时,我有一个印象,这是在客户端生成的。正如Stephen Muecke先生所说,这种als是在服务器端生成的。所以这个问题变得毫无意义。Stephen Muecke在评论中提出的解决方案是,在控制器上生成年份是最理性的答案。

在Stephen Muecke发出警告后,生成razor视图,即在razor语法中的任意位置使用@sign实际上是服务器端代码,我编写客户端代码以在下拉菜单中填充年份

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);
  }

}
函数populateDrpYillar()
{
变量currentYear=(新日期()).getFullYear();
//创建要添加的选项数组
var yearArray=[currentYear-2,currentYear-1,currentYear,currentYear+1];
var drpYears=document.getElementById(“drpYears”);
//创建并附加选项
对于(变量i=0;i
为什么不执行此属性并在控制器中生成一个
IEnumerable
,并通过使用
@Html.DropDownListFor()
绑定到模型来生成
,这也是一个选项。我想在客户端尽可能多地实现所有功能,我想学习如何在razor中实现这类功能!因为我写这段代码是为了查看,所以我对客户端代码有一种印象。这是我的错。