2010-10-06 78 views
0

繼上一個問題之後,我在編輯器模板中使用datetime字段時出現問題,下面是編輯器模板(稱爲「EditDateTime」)的代碼。未使用日期時間格式的MVC2編輯器模板

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<System.DateTime?>" %> 

<%= Html.TextBox("", (Model.HasValue ? Model.Value.Date.ToString("dd/MMM/yyyy") : 
DateTime.Today.ToString("dd/MMM/yyyy")), new { @class = "date" })%> 

下面是使用編輯器模板的號召,

<%=Html.EditorFor(Model => Model.StartDate, "EditDateTime") %> 

所有工作正常,除了格式被忽略。該Asp.Net MVC2框架書籍文檔模板,並明確規定

我們傳遞一個空字符串名稱 參數,因爲該框架將自動用對應於所呈現的模型項目的字段名稱的前綴,它;

所以我不應該需要一個ID,那麼爲什麼格式被忽略?但是 - 如果我包含一個ID,格式化會被遵守,但是模型綁定會被破壞。

幫助?


只是爲了澄清.. 如果我給HMTL.Textbox一個ID,我得到以下...的日期格式是正確的,但我失去了模型綁定的ID從「起始日期」改爲「StartDate_xx」

<input class="date" id="StartDate_xx" name="StartDate.xx" type="text" value="02/May/2012" /> 

而且沒有身份證,它看起來像這樣...模型綁定是正確的,但格式不是。

<input class="date" id="StartDate" name="StartDate" type="text" value="05/02/2012 00:00:00" /> 

回答

0

嘗試使用

Model.Value.ToString("dd/MM/yyyy") 

爲我工作。

一切正常真的...是你發送DatetimeDatetime?

+0

它可爲空日期時間的項目? – TChamberlainGE 2010-10-06 13:11:59

+0

這不工作 - 它必須是一個編輯器模板而不是顯示模板。儘管非常感謝你的幫助。 – TChamberlainGE 2010-10-06 13:19:16