0
我有一個編輯類的頁面。在這個頁面上,您可以在頁面上動態添加和刪除類事件。我的問題是在這一節中出現的一件事是一個日期。我想只顯示日期部分而不是時間。這是爲實體框架設置的類。DataType編輯器模板不適用於創建的DOM元素
public class ClassEvent
{
public ClassEvent()
{
EventDate = DateTime.Today;
}
[HiddenInput(DisplayValue = false)]
public int ID { get; set; }
public string Description { get; set; }
[DataType(DataType.Date)]
[Display(Name = "Date")]
public DateTime? EventDate { get; set; }
[HiddenInput(DisplayValue = false)]
[Required(ErrorMessage = "Please select a class")]
public int ClassID { get; set; }
[Display(Name = "Class")]
[ForeignKey("ClassID")]
public virtual ScheduledClass ScheduledClass { get; set; }
public Boolean Delete { get; set; }
}
我有這段代碼作爲日期時間對象的編輯器模板。
@inherits System.Web.Mvc.WebViewPage<System.DateTime?>
@Html.TextBox("", String.Format("{0:d}", Model.HasValue ? Model.Value.ToString("MM/dd/yyyy") :""), new { @class = "datefield", style="width:100px"})
我在實際scheduledclass類另一個字段,如下所示
public class ScheduledClass
{
public ScheduledClass()
{
Attendees = new List<ClassAttendee>();
}
[HiddenInput(DisplayValue = false)]
public int ID { get; set; }
[HiddenInput(DisplayValue = false)]
[Required(ErrorMessage = "Please enter a topic")]
public int ClassTopicID { get; set; }
[Display(Name = "Topic")]
public virtual ClassTopic ClassTopic { get; set; }
[HiddenInput(DisplayValue = false)]
public int ClassTypeID { get; set; }
[Display(Name = "Class Type")]
public virtual ClassType ClassType { get; set; }
[Required]
[DataType(DataType.Date)]
[Display(Name = "Class Date")]
public DateTime ClassDate { get; set; }
[Display(Name = "Attendees")]
public virtual ICollection<ClassAttendee> Attendees { get; set; }
[Display(Name = "Events")]
public virtual ICollection<ClassEvent> ClassEvents { get; set; }
}
編輯模板時,頁面加載的ClassDate工作正常,但在網頁中,如果我按一下按鈕,添加類事件編輯器模板不適用於創建的內容。這裏是ClassEvent本身的編輯器模板
@model TRIOSoftware.Domain.Entities.ClassEvent
<tr class="ClassEvent">
<td>
@Html.HiddenFor(model => model.ID)
@Html.HiddenFor(model => model.ClassID)
@Html.TextBoxFor(model => model.Description, new {style ="width:125px"})
@Html.ValidationMessageFor(model => model.Description)
</td>
<td>
@Html.TextBoxFor(model => model.EventDate, new { @class = "datefield", style = "width:150px" })
@Html.ValidationMessageFor(model => model.EventDate)
</td>
<td>
@Html.HiddenFor(x => x.Delete, new { @class = "mark-for-delete" })
@Html.LinkToRemoveNestedForm("Remove", "tr.ClassEvent", "input.mark-for-delete")
</td>
</tr>
有沒有人遇到過這個問題?
嘗試裝飾與此屬性,以及:'[DisplayFormat(ApplyFormatInEditMode = TRUE,DataFormatString = 「{0:MM/dd/yyyy}」)]' – 2013-03-14 13:25:10
我確實添加了這個,但我仍然得到相同的結果文本框一起顯示日期和時間 – 2013-03-14 14:47:32