2010-02-10 10 views
5

Có một nơi nào đó ai đó đã lập bản đồ của C# dateFormat đến datePicker dateFormat, vì tôi đã biết C# dateFormat, tôi không muốn phải kiểm tra tài liệu datepicker mỗi khi tôi phải xây dựng một định dạng ngày tùy chỉnh.jQuery.ui.datepicker với Asp.Net MVC dateFormat ánh xạ

cho exmple, tôi muốn để có thể xác định trong DateFormat helper của tôi 'dd/MM/yy' (C#) và nó sẽ chuyển nó sang 'dd/mm/yy' DatePicker

Trả lời

9

Một cách tiếp cận có thể sẽ trực tiếp thay thế specifiers định dạng NET với các đối tác của họ jquery như bạn có thể thấy trong đoạn mã sau:

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

nguồn gốc: http://rajeeshcv.com/2010/02/28/JQueryUI-Datepicker-in-ASP-Net-MVC/

+0

Thx, có vẻ ổn, tôi sẽ phải thử ngay bây giờ ... –

0

Có lẽ bạn có thể sử dụng một cái gì đó như thế này:

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

và điều này:

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

Đó không phải là những gì tôi muốn, những gì tôi muốn, là để xác định các định dạng tương tự trong C# hơn trong datepicker, sử dụng một helper tùy chỉnh, do đó chuyển đổi có thể Daone trong C# ví dụ: 'dd/mm/yy' trong datePicker là 'dd/MM/yy' trong C#. –