2013-03-29 3 views
6

का उपयोग कर नियंत्रण को नियंत्रित करें jQuery .datepicker() का उपयोग करते समय मैं समय को दिखाने से कैसे रोकूं? नीचे दो विशेषताओं के लिए मॉडल की धारा (तारीख लिया और समाप्ति तिथि)एएसपी एमवीसी @ एचटीएमएल से समय निकालें। JQuery डेटपिकर

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:d}")] 
    [DisplayName("Expiration Date")] 
    public string ExpirationDate { get; set; } 

    [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:d}")] 
    [DisplayName("Date Taken")] 
    public string DateTaken { get; set; } 

यह दृश्य मैं पर काम कर रहा हूँ पर @Html.EditorFor नियंत्रण का उपयोग ठीक काम करता है है। हालांकि, जब मैं इस से कि परिवर्तन नियंत्रण:

@Html.EditorFor(model => model.DateTaken) 
इस के लिए

:

@Html.TextBoxFor(m => m.DateTaken, new { id = "dtkn" }) 
आदेश में इस काम करने के लिए प्राप्त करने के लिए

(लेबल जो नियंत्रित करने datepicker लागू किया गया):

<script> 
    $(function() { 
     $("#dtkn").datepicker('setDate'); 
     $("#exp").datepicker('setDate'); 
    }); 

    $.datepicker.setDefaults({ 
     buttonImageOnly: true, 
     buttonImage: '<%=Url.Content("~/Content/images/magnify.gif") %>', 
     defaultDate: -1, 
     gotoCurrent: true, 
     prevText: "<< Prev", 
     nextText: "Next >>" 
    }); 
</script> 

अचानक समय दिखने लगता है। कोई सुझाव?

संपादित

मैं निम्न स्वरूपों की कोशिश की है और कोई भी काम करेगा:

$("#dtkn").datepicker({ dateFormat: 'dd-mm-yy' }).val(); 
$("#dtkn").datepicker({ dateFormat: 'yy-mm-dd' }); 
$("#dtkn").datepicker('getDate').format('yyyyMMdd'); 

और इस:

$("#dtkn").datepicker('getDate').datepicker('dd/mm/yy'); 
$('#dtkn').datepicker('option', { dateFormat: 'd MM y' }); 

यहाँ त्रुटि मैं क्रोम डिबगिंग कंसोल दिखाई दे रही है है:

Uncaught TypeError: Cannot call method 'datepicker' of null 
+0

डुप्लिकेट http://stackoverflow.com/questions/1328025/jquery-ui-datepicker-change-date-format – David

+0

बिना किसी किस्मत के उन समाधानों का प्रयास किया। संपादन देखें। – NealR

उत्तर

3

सिर्फ यह करने के लिए सहायक पर देने के लिए @Html.TextBox का उपयोग करके तैयार हैं, तो के रूप में विरोध किया @Html.TextBoxFor पर मैं काम करता हूं कि एक अधिभार खोजने में सक्षम था।

@Html.TextBox("DateTaken", Model.DateTaken.ToString("MM/dd/yyyy"), new { id = "dtkn" }) 
14

संपादित करें: MVC4 उपयोगकर्ताओं का उपयोग कर सकते

आप इस अधिभार

@Html.TextBoxFor(m => m.DateTaken, "{0:MM/dd/yyyy}", new { id="dtkn" }) 

चाहते तो आप मैन्युअल

<input type="text" value="@Model.DateTaken.ToString("MM/dd/yyyy")" id="dtkn" /> 
+0

मुझे त्रुटि मिलती है 'विधि के लिए कोई ओवरलोड नहीं' टेक्स्टबॉक्स '3 तर्क लेता है' – NealR

+0

क्षमा करें, एमवीसी 3 याद किया गया। Http://stackoverflow.com/questions/5972536/html-textboxfor-formatting-or-html-editorfor-htmlattributes आज़माएं – Jasen

0

@ Html.TextBoxFor (एम => m.DateTaken, "{0: d/एम/वर्ष}", नए {आईडी = "dtkn"})

[DisplayFormat (ApplyFormatInEditMode = true , DataFormatString = "{0: d/m/yyy}")] [प्रदर्शन नाम ("दिनांक लिया गया")] सार्वजनिक स्ट्रिंग डेटटेकन {प्राप्त करें; सेट; }

संबंधित मुद्दे