2010-02-10 12 views
5

Czy jest gdzieś ktoś, kto zrobił mapowanie C# dateFormat na dateFicker dateFormat, ponieważ znam już dateFormat C#, nie chcę, aby sprawdzić dokumentacja Datepicker za każdym razem muszę zbudować niestandardową datę Format.jQuery.ui.datepicker z Asp.Net MVC dateFormat mapowanie

dla exmple, chcę być w stanie określić w moim pomocnikiem dateformat z 'dd/mm/yy' (C#) i byłoby przekształcić ją w 'dd/mm/yy' DatePicker

Odpowiedz

9

Możliwym rozwiązaniem byłoby bezpośrednio zastąpić formatami NET z ich odpowiednikami jquery jak widać w poniższym kodzie:

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; 
} 

Oryginalne źródło: http://rajeeshcv.com/2010/02/28/JQueryUI-Datepicker-in-ASP-Net-MVC/

+0

Thx, wygląda dobrze, będę musiał spróbować teraz ... –

0

Może ty użyć czegoś takiego:

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

i tak:

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

To nie jest to, co chcę, co chcę, to podać ten sam format w C# niż w datepicker przy użyciu niestandardowych pomocnika, więc konwersja może być Daone w C# na przykład "dd/mm/yy" w datePicker to "dd/MM/yy" w języku C#. –