2011-01-07 8 views
6

मुझे अपने मॉडल में एक संपत्ति मिली है जो DateTime है। मैं ('0001-01-01 00:00:00') की संपत्ति के बजाय DateTime.MinValue में रिक्त स्थान प्राप्त करना चाहता हूं।एचटीएमएल.डिटरफ़ोर और कस्टम प्रारूप

क्या यह संभव है?

उत्तर

7

एक समाधान मैं मेरे लिए काम मिल गया है जोड़ने के लिए था दृढ़ता से आंशिक दृश्य लिखा जाता है (System.DateTime के लिए) और इसे Views/Shared/EditorTemplates निर्देशिका में डालें। फ़ाइल DateTime.cshtml इस तरह काफी दिखता है:

@model System.DateTime 
@Html.TextBox("", Model == DateTime.MinValue ? "" : Model.ToShortDateString()) 

हालांकि यह अपने सभी दिनांक समय क्षेत्रों से प्रारूप होगा।

अधिक जानकारी this आलेख में मिल सकती है।

2

एक extension helper विधि लिखें:

public static class DateTimeHelper 
{ 
    public static string MyEditor(this HtmlHelper helper, DateTime date) 
    { 
     if (date.Equals(DateTime.MinValue)) 
     { 
      // return your an empty input: helper.TextBox ... 
     } 
     // return helper.EditorFor your datetime 
    } 
} 

उसके बाद, आप से देखने:

<%= Html.MyEditor(Model.YourDateTimeField) %> 
संबंधित मुद्दे