у кого-нибудь есть выпадающие списки даты для asp.net mvc - PullRequest
3 голосов
/ 17 марта 2010

Кто-нибудь знает, где я могу найти помощника HTML или что-то, что собирается сгенерировать средство выбора даты, составленное из 3 выпадающих списков?

Ответы [ 2 ]

2 голосов
/ 25 марта 2010

Это мой маленький помощник.

Само по себе объяснительно, я считаю. Можно настроить порядок раскрывающихся списков (Месяц / День / Год или День / Месяц / Год), а если вы используете .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());
}
0 голосов
/ 23 марта 2010

Telerik имеет библиотеку некоторых элементов управления 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)
%>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...