Wednesday, 15 June 2011

c# - What is a more elegant way to use editorfor for nullable datetime -


  @if (Model.RecDateFrom.HasValue) {@ Html.EditorFor (मॉडल = & gt; model.RecDateFrom, नए {html गुणों = नया {@Value = Model.RecDateFrom.Value.ToString ("yyyy-MM-dd"), @ वर्ग = "फॉर्म-नियंत्रण इनपुट-एसएम छोटा-इनपुट-फिक्स"}}}) अन्य {@Html .EditorFor (model = & gt; model.RecDateFrom, नया {htmlAttributes = new {@class = "form-control input-sm small-input-fix"}})} @ html.ValidationMessageFor (model = & gt; model.RecDateFrom, "", नया {@class = "text-danger"})  

आप मूल्य को सेट करने से पहले डेटाटैम रिक्त है अगर आप को कैसे संभालना है ऊपर देख सकते हैं मुझे मान सेट करना पड़ता है क्योंकि MVC किसी दिनांक इनपुट के लिए गलत प्रारूप का उपयोग करता है, जिससे क्रोम में सही डिफ़ॉल्ट मान नहीं होता है।

मैं स्वीकार किए गए समाधान का उपयोग नहीं करना चाहता क्योंकि यह परिवर्तन इसके लिए डिस्प्ले का प्रारूप भी।

मैंने संपादक टेम्पलेट्स का उपयोग करने की कोशिश की है, लेकिन ऐसा लगता है कि आपको शुरुआती दिनांक से शुरू करने के लिए संपादक टेम्पलेट का विस्तार करने की बजाय, खरोंच से शुरू करना होगा (यह MVC के एक बड़े दोष की तरह लगता है,

यदि आप ब्राउज़रों एचटीएमएल 5 डेटपिकर रेंडर करना चाहते हैं, तो आपको बस आवेदन करने की ज़रूरत है आप के लिए सही गुण संपत्ति नोट करें कि प्रारूप स्ट्रिंग आईएसओ प्रारूप में होनी चाहिए। [डेटाटाइप (डेटाटाइप.डेट)] [डिस्प्ले फ़ॉर्मेट (डेटाफॉर्मैट स्ट्रिंग = "{0: yyyy-MM-dd}", ApplyFormatInEditMode = true) ] सार्वजनिक तिथि टाइम रिकडेट {प्राप्त; सेट; }

और फिर दृश्य में

  @ Html.EditorFor (m = & gt; m.RecDateFrom, नया {htmlAttributes = new {@class = " साइड नोट: HTML5 डेटपिकर पुराने ब्राउज़र में समर्थित नहीं है और फ़ायरफ़ॉक्स में अभी तक बिल्कुल नहीं है, इसलिए यह हो सकता है कि एक jquery प्लगइन का उपयोग करने के लिए बेहतर (कम से कम अल्पावधि में) (और प्लगइन प्रारंभकर्ता में प्रारूप सेट करें) उदाहरण के लिए, jquery ui datepicker -  $ ('# datepicker') का उपयोग कर। Datepicker ({dateFormat: 'dd-mm-yy'})  


No comments:

Post a Comment