2010-02-10 17 views
5

C'è qualcuno da qualche parte che ha eseguito una mappatura del C# dateFormat con datePicker dateFormat, dal momento che conosco già il DateFormat di C#, non voglio dover controllare il la documentazione di datepicker ogni volta che devo creare un formato di data personalizzato.jQuery.ui.datepicker con Asp.Net MVC dataFormat mapping

per exmple, voglio essere in grado di specificare in mio aiuto dateFormat di 'gg/mm/aa' (C#) e sarebbe convertirlo in 'gg/mm/aa' DatePicker

risposta

9

Un possibile approccio potrebbe essere quella di sostituire direttamente l'identificatori di formato .NET con le loro controparti jQuery come si può vedere nel codice seguente:

public static string ConvertDateFormat(string format) 
{ 
    string currentFormat = format; 

    // Convert the date 
    currentFormat = currentFormat.Replace("dddd", "DD"); 
    currentFormat = currentFormat.Replace("ddd", "D"); 

    // Convert month 
    if (currentFormat.Contains("MMMM")) 
    { 
     currentFormat = currentFormat.Replace("MMMM", "MM"); 
    } 
    else if (currentFormat.Contains("MMM")) 
    { 
     currentFormat = currentFormat.Replace("MMM", "M"); 
    } 
    else if (currentFormat.Contains("MM")) 
    { 
     currentFormat = currentFormat.Replace("MM", "mm"); 
    } 
    else 
    { 
     currentFormat = currentFormat.Replace("M", "m"); 
    } 

    // Convert year 
    currentFormat = currentFormat.Contains("yyyy") ? currentFormat.Replace("yyyy", "yy") : currentFormat.Replace("yy", "y"); 

    return currentFormat; 
} 

Fonte originale: http://rajeeshcv.com/2010/02/28/JQueryUI-Datepicker-in-ASP-Net-MVC/

+0

Thx, sembra buono, dovrò provarlo ora ... –

0

Forse si può usare qualcosa di simile:

<%= Html.TextBoxFor(x => x.SomeDate, new { @class = "datebox", dateformat = "dd/mm/yy" })%> 

e questo:

$(function() { 
    $("input.datebox").each(function() { 
     $(this).datepicker({ dateFormat: $(this).attr("dateFormat") }); 
    }); 
}); 
+0

Questo non è quello che voglio, quello che voglio, è quello di specificare lo stesso formato in C# che nel DatePicker, utilizzando un aiuto personalizzato, così la conversione può essere Daone in C# ad esempio, "gg/mm/aa" nella dataPicker è "gg/mm/aa" in C#. –