2010-02-10 16 views
5

¿Hay alguien que haya hecho un mapeo de C# dateFormat a dateForm dateFormat, ya que conozco C# dateFormat, no quiero tener que verificar el la documentación de datepicker cada vez que tengo que crear un formato de fecha personalizado.jQuery.ui.datepicker con Asp.Net MVC mapeo dateFormat

para exmple, quiero ser capaz de especificar en mi ayudante dateFormat de 'dd/mm/aa' (C#) y sería convertirlo en 'dd/mm/aa' DatePicker

Respuesta

9

Una posibilidad sería la de sustituir directamente a los especificadores de formato de .NET con sus homólogos jquery como se puede ver en el siguiente código:

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

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

+0

Thx, se ve bien, tendré que intentarlo ahora ... –

0

Tal vez usted pueda usar algo como esto:

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

y esto:

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

Eso no es lo que quiero, lo que quiero, es especificar el mismo formato en C# que en el selector de fechas, utilizando un ayudante de encargo, por lo que la conversión puede ser Daone en C# , por ejemplo, 'dd/mm/aa' en el datePicker es 'dd/MM/aa' en C#. –