2010-09-16 14 views
15

मुझे आशा है कि सवाल आसान है, लेकिन मैं एक घंटे से अधिक समय तक खोज रहा हूं और मुझे जवाब नहीं मिला। तो मेरे पास एएसपीएनटी एमवीसी 2 एप्लीकेशन है और फॉर्मों में से एक में एक jquery datepicker वाला डेट टेक्स्टबॉक्स है। मैंने डेटपिकर में दिनांक प्रारूप dd.mm.yyyy होने के लिए सेट किया है। मेरी समस्या यह है कि इस तारीख को बाध्यकारी मॉडल पर mm.dd.yyyy के रूप में व्याख्या किया गया है, इसलिए जब तक मॉडल मेरी क्रिया विधि तक पहुंच जाता है तब तक मॉडल की डेटटाइम विशेषता सही नहीं होती है (दिन और महीना उलट दिया जाता है, यदि यह क्लाइंट को रिवर्स करना संभव नहीं है साइड सत्यापन मुझे आइटम को सहेजने नहीं देता है)। मैं संस्कृति को बदलना नहीं चाहता, लेकिन मैं मॉडल बाइंडर को तारीख को समझने के तरीके को किसी भी तरह निर्दिष्ट करना चाहता हूं। क्या यह किसी भी तरह से संभव है?मॉडल बाइंडिंग के लिए दिनांक प्रारूप कैसे निर्दिष्ट करें?

धन्यवाद एक बहुत

उत्तर

2

आप अपना प्रश्न यहां

Custom DateTime model binder in Asp.net MVC

इसके अलावा स्कॉट Hanselman दिनांक समय कस्टम मॉडल बांधने की मशीन यहाँ के बारे में बात की है

http://www.hanselman.com/blog/SplittingDateTimeUnitTestingASPNETMVCCustomModelBinders.aspx

का उत्तर मिल सकता है हालांकि वहदिनांक को विभाजित करने के लिए बाइंडर का उपयोग कर रहा हैसमय जब आप अपना कस्टम मॉडल बाइंडर बनाते समय उसकी पोस्ट उपयोगी हो सकते हैं।

7

This blog post बताता है कि आप एमवीसी मॉडल बाइंडर द्वारा उपयोग किए जाने वाले किसी विशेष दिनांक प्रारूप को कैसे निर्दिष्ट कर सकते हैं।

आप, तो वह सहयोगी अपने Global.asax.cs में datetime प्रकार के साथ एक कस्टम मॉडल बांधने की मशीन कार्यान्वयन दिनांक स्वरूप के बारे में पता है कि बनाने की आवश्यकता होगी:

protected void Application_Start() 
{ 
    //... 
    var binder = new DateTimeModelBinder(GetCustomDateFormat()); 
    ModelBinders.Binders.Add(typeof(DateTime), binder); 
} 
संबंधित मुद्दे