开发者

ASP.NET MVC 2: Disabled TextBox for DateTime returns null

I'm encountering an irritating binding behavior for a DateTime bound to a textbox that is disabled. It always returns null.

My model has a DateTime? StartDate property... I've also tried just DateTime StartDate (without the '?').

I've tried the following:

Attempt #1:

<%: Html.TextBoxFor(model => model.StartDate, new { @disabled="true" })%>

Attempt #2:

<%: Html.EditorFor(model => model.StartDate, "DateDisabled")%>

where DateDisabled is a partial view defined like this:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<DateTime?>" %>
<%: Html.TextBox("", Model.HasValue ? Model.Value开发者_JAVA百科.ToShortDateString() : "", new { @class = "text-box-short-disabled", @disabled = "true" })%>

All my attempts returns a null value. Is there something I missed? Or a workaround?


Input elements with the disabled attribute never send their value to the server when the form is submitted. You should use the readonly attribute instead:

<%: Html.TextBoxFor(model => model.StartDate, new { @readonly = "readonly" }) %>
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜