jQuery.ui.datepicker с отображением формата даты Asp.Net MVC - PullRequest
5 голосов
/ 10 февраля 2010

Есть ли кто-то, кто сделал отображение c # dateFormat на datePicker dateFormat, так как я уже знаю C # dateFormat, я не хочу проверять документацию datepicker каждый раз, когда мне нужно создать собственный формат даты.

Например, я хочу иметь возможность указать в моем помощнике dateFormat 'dd / MM / yy' (c #), и он будет конвертировать его в 'dd / mm / yy' DatePicker

Ответы [ 2 ]

9 голосов
/ 21 января 2011

Один из возможных подходов заключается в прямой замене спецификаторов формата .NET их аналогами jquery, как показано в следующем коде:

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

Оригинальный источник: http://rajeeshcv.com/2010/02/28/JQueryUI-Datepicker-in-ASP-Net-MVC/

0 голосов
/ 10 февраля 2010

Может быть, вы можете использовать что-то вроде этого:

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

и это:

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