html Select List добавляет значения с помощью c # - PullRequest
2 голосов
/ 09 января 2012

У меня следующий ручной код для открытия URL-адресов:

<select type="text" name="sel_veh" id="Select1" runat="server"  onchange="window.open('http://appsrv01.shakarganj.com.pk:7778/reports/rwservlet?reptest&report=eth_fleet_dtl&veh_num='+ sel_veh.value,'mywindow4');" language="javascript" onclick="return sel_veh_onclick()" style="font-size: 10pt">
    <option value="">Please Select</option>
    <option value="01-01-12">01-Jan</option>
    <option value="01-02-12">02-Jan</option>
    <option value="01-02-12">03-Jan</option>
    <option value="01-02-12">04-Jan</option>
</select>

У меня есть этот список select с жестко заданными значениями даты.Проблема в том, что при изменении даты мне приходится обновлять код новыми датами.Есть ли способ в C #, чтобы я мог динамически добавлять значения в этот список select с помощью кода c3, что значения даты должны автоматически изменяться с системной датой?

Ответы [ 2 ]

3 голосов
/ 09 января 2012

Да, вы можете.если вы ищете более удобный для программистов элемент управления, используйте DropDownList элемент управления

, если вы используете <select />, вы можете добавлять элементы с помощью

Select1.Items.Add("01-01-12","01-Jan");

например

если вы используете DropDownList, вы можете добавить элементы на

dropDownList1.Items.Add(new ListItem("01-Jan", "01-01-12"));
0 голосов
/ 09 января 2012

Во-первых, как правильно сказал Шай, используйте вместо этого элемент управления DropDownList:

 <asp:DropDownList ID="ddlDates" runat="server"></asp:DropDownList>

Теперь заполните его из кода следующим кодом:

DateTime now = DateTime.Now;
DateTime past = now.AddDays(-7);
List<DateTime> dates = new List<DateTime>();
for (DateTime curDate = past; curDate <= now; curDate = curDate.AddDays(1))
    dates.Add(curDate);
ddlDates.Attributes["onchange"] = "window.open('http://appsrv01.shakarganj.com.pk:7778/reports/rwservlet?reptest&report=eth_fleet_dtl&veh_num='+ this.value, 'mywindow4');";
ddlDates.Attributes["onclick"] = "return sel_veh_onclick();";
ddlDates.Items.Clear();
ddlDates.Items.Add(new ListItem("Please Select", ""));
ddlDates.Items.AddRange(dates.ConvertAll(dt => new ListItem(dt.ToString("dd-MMM"), dt.ToString("MM-dd-yy"))).ToArray());
...