Форматирование даты на Html.TextBoxFor - другие решения не работают - PullRequest
0 голосов
/ 08 октября 2010

Используя сгенерированные EF классы, вот мой класс метаданных:

    [DisplayName("Approved Date")]
    [DataType(DataType.DateTime)]
    [DisplayFormat(ApplyFormatInEditMode = true,
                            HtmlEncode = false,
                            NullDisplayText = "", 
                            DataFormatString = "{0:MM/dd/yyyy}")]
    public object ApprovedDate{ get; set; }

Мнение:

<%: Html.EditorFor(model => model.Standard)%>

Редактор:

<%:Html.EditorFor(model => model.ApprovedDate)%>

DateTime.ascx:

<%string name = ViewData.TemplateInfo.HtmlFieldPrefix;%>
<%string id = name.Replace(".", "_");%>

<div class="clear">
    <div class="editor-label"><%:Html.LabelFor(model => model)%></div>
    <div class="editor-field">
        <%:Html.TextBoxFor(model => model)%>
        <%= Html.ValidationMessageFor(model => model)%>
    </div>
</div>

<script type="text/javascript">
    $(document).ready(function () {

        $("#<%=id%>").datepicker({
            showOn: 'both',
            dateFormat: 'm/d/yy',
            changeMonth: true,
            changeYear: true
        });
    });
</script>

Кажется, ничего не работает. Я должен поддерживать привязку, поэтому я не хочу делать необработанный HTML.

Все поля даты выводятся с одинаковым форматированием, включая время.

3/12/2009 12:00:00 AM

Что это должно быть

3/12/2009

Спасибо!

1 Ответ

3 голосов
/ 08 октября 2010

Я использовал <%= Html.TextBox(null, string.Format("{0:d}", Model))%>.Кажется, работает и сохраняет привязки.

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