任何人都有一些用于 asp.net mvc 的下拉日期选择器
Posted
技术标签:
【中文标题】任何人都有一些用于 asp.net mvc 的下拉日期选择器【英文标题】:anybody has some dropdowns datepicker for asp.net mvc 【发布时间】:2011-01-28 14:35:25 【问题描述】:任何人都知道我在哪里可以找到 html 帮助程序或将生成由 3 个下拉列表组成的日期选择器的东西?
【问题讨论】:
@Omu:您能否更具体地说明“三个下拉菜单”的含义? 我假设有一个日期、月份和年份的下拉列表? 是的,日/月/年的单独下拉菜单 【参考方案1】:这是我的小帮手。
我相信这本身就是解释性的。可以调整以安排下拉菜单的顺序(月/日/年或日/月/年),如果您使用的是 .NET 4,则可以为名称设置默认参数。
编辑:清除文字以减少眼睛出血
/// <summary>
/// Creates a days, months, years drop down list using an HTML select control.
/// The parameters represent the value of the "name" attribute on the select control.
/// </summary>
/// <param name="dayName">"Name" attribute of the day drop down list.</param>
/// <param name="monthName">"Name" attribute of the month drop down list.</param>
/// <param name="yearName">"Name" attribute of the year drop down list.</param>
/// <returns></returns>
public static string DatePickerDropDowns(this HtmlHelper html, string dayName, string monthName, string yearName)
TagBuilder daysList = new TagBuilder("select");
TagBuilder monthsList = new TagBuilder("select");
TagBuilder yearsList = new TagBuilder("select");
daysList.Attributes.Add("name", dayName);
monthsList.Attributes.Add("name", monthName);
yearsList.Attributes.Add("name", yearName);
StringBuilder days = new StringBuilder();
StringBuilder months = new StringBuilder();
StringBuilder years = new StringBuilder();
int beginYear = DateTime.UtcNow.Year - 100;
int endYear = DateTime.UtcNow.Year;
for (int i = 1; i <= 31; i++)
days.AppendFormat("<option value='0'>0</option>", i);
for (int i = 1; i <= 12; i++)
months.AppendFormat("<option value='0'>0</option>", i);
for (int i = beginYear; i <= endYear; i++)
years.AppendFormat("<option value='0'>0</option>", i);
daysList.InnerHtml = days.ToString();
monthsList.InnerHtml = months.ToString();
yearsList.InnerHtml = years.ToString();
return string.Concat(daysList.ToString(), monthsList.ToString(), yearsList.ToString());
【讨论】:
我猜它需要一些 javascript 来进行客户端约束,因为现在每个人都可以选择 2 月 31 日 是的,请务必将约束检查服务器端也放在。【参考方案2】:Telerik has a library 的一些 ASP.Net MVC 控件是免费的。
它们作为辅助方法工作,看起来很不错。例如,DatePicker 的工作方式如下:
<%= Html.Telerik().DatePicker()
.Name("DatePicker")
.MinDate(Model.MinDate.Value)
.MaxDate(Model.MaxDate.Value)
.Value(Model.SelectedDate.Value)
.ShowButton(Model.ShowButton.Value)
%>
【讨论】:
不,那是一个带日历的日期选择器,我想要一个由 3 个下拉菜单组成的以上是关于任何人都有一些用于 asp.net mvc 的下拉日期选择器的主要内容,如果未能解决你的问题,请参考以下文章
ASP.NET MVC DropdownList 设置默认值时未选择任何内容
ASP.NET MVC DropDownList 选择值问题
下拉列表的 jQuery 在布局 ASP.NET MVC 5 中不起作用
ASP.NET MVC 视图需要将选定的下拉列表和日历日期传递给模型