2010-02-10 2 views
5

Y a-t-il quelqu'un quelque part qui a fait un mappage du C# dateFormat au format dateFormat de datPicker, puisque je connais déjà le C# dateFormat, je ne veux pas avoir à vérifier le Documentation datepicker chaque fois que je dois créer un format de date personnalisé.jQuery.ui.datepicker avec le mappage de datFormat Asp.Net MVC

pour exmple, je veux être en mesure de préciser dans mon dateFormat d'aide de 'dd/MM/yy' (C#) et il serait le convertir en 'jj/mm/aa' DatePicker

Répondre

9

approche un possible serait de remplacer directement le format .NET spécificateurs avec leurs homologues jquery comme vous pouvez le voir dans le code suivant:

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

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

+0

Thx, ça a l'air bien, je vais devoir essayer ça maintenant ... –

0

Peut-être que vous pouvez utiliser quelque chose comme ceci:

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

et ceci:

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

Ce n'est pas ce que je veux, ce que je veux, est de spécifier le même format C# que dans le datepicker, en utilisant une aide personnalisée, de sorte que la conversion peut être Daone en C# , par exemple, 'jj/mm/aa' dans la datePicker est 'jj/MM/aa' dans C#. –