Asp.net mvc 在Razor中动态定义整数
我想在Razor中定义selectlist的列表。selectlist有四个元素,它们是当前年份+1、当前年份、当前年份-1等等。我想在客户机中创建此列表,因此我编写以下代码: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
@{
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中实现这类功能!因为我写这段代码是为了查看,所以我对客户端代码有一种印象。这是我的错。