DateTime EditorFor Template - установка атрибутов идентификатора и имени?

Я пытаюсь создать форму, которая позволяет пользователю выбирать диапазон дат для просмотра статистики. Я не могу заставить дату и время отображаться как просто дату в текстовых полях, если только я не использую «Шаблон альтернативного редактора DateTime, который я пробовал», но тогда я не подключаю его к форме, потому что он не имеет id или атрибут имени.

Что я делаю неправильно?

Шаблон редактора DateTime

@inherits System.Web.Mvc.WebViewPage<DateTime>
@Html.TextBoxFor(p => p, new { @class = "datepicker span2" })

Альтернативный шаблон редактора DateTime, который я пробовал

@inherits System.Web.Mvc.WebViewPage<DateTime>
<input class="datepicker span2" type="text" value="@Model.ToShortDateString()" />

Моя модель

public class ManageStatsModel
{
    [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MM/dd/yyyy}")]
    public DateTime MinDate { get; set; }

    [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MM/dd/yyyy}")]
    public DateTime MaxDate { get; set; }
}

Разметка на форме

@using (Html.BeginForm("Stats", "Manage", FormMethod.Post, new { @class = "form-inline" }))
{
    @Html.EditorFor(p => p.MinDate)
    <span> - </span>
    @Html.EditorFor(p => p.MaxDate)
    <button type="submit">Go</button>
}

person Jason    schedule 21.05.2012    source источник


Ответы (1)


Пытаться:

@inherits System.Web.Mvc.WebViewPage<DateTime>
@Html.TextBox("", ViewData.TemplateInfo.FormattedModelValue, new { @class = "datepicker span2" })

Помощник TextBox создаст соответствующее имя из иерархии модели/шаблона.

person moribvndvs    schedule 21.05.2012
comment
Спасибо! Удивительно, но не так много людей (даже на SO), кажется, берут ссылку :) - person moribvndvs; 21.05.2012