2011-04-20 1 views
0

은 다음 MVC로는 예를문제 : DD.MM.YYYY를 MM/DD/YYYY에

모델

public class MyViewModel 
{ 
    [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd.MM.yyyy}")] 
    public DateTime Validity { get; set; } 
} 

컨트롤러

public class HomeController : Controller 
{ 
    public ActionResult Index() 
    { 
     return View(new MyViewModel 
     { 
      Validity = DateTime.Now 
     }); 
    } 

    [HttpPost] 
    public ActionResult Index(MyViewModel model) 
    { 
     return View(model); 
    } 
} 

보기

에게 있습니다
@model MyViewModel 
@using (Html.BeginForm()) 
{ 
    @Html.EditorFor(x => x.Validity) 
    <input type="submit" value="OK" /> 
} 

12와 같은 날짜를 선택할 때. 12.2011 잘 작동하지만 18.12.2011과 같은 날짜를 사용하면 01/01/01에 속성 (datetime)의 값을 설정합니다. 이것은 나를위한 문제입니다.

+1

@ChrisF, 새로운 사용자에게 지시하지 않으면 숫자가 다를 때 1 년 동안 아주 똑같은 대화를 나눌 가능성이 있습니다. –

답변

0

"영국"형식 (일/월/년)으로 예상되는 날짜이지만 변환 코드는 "미국"형식 (월/일/년)을 사용하고 있습니다.

문자열에서 DateTime으로 변환하는 코드는 올바른 형식 문자열을 사용해야합니다.

문화 및 서식 정보가 필요한 DateTime.Parse method이 필요합니다. 이 메소드에 가능한 형식 목록을 제공하여 다양한 입력에 대처할 수 있습니다.

0

<globalization uiCulture="en-GB" culture="en-GB" />을 web.config 파일에 추가 할 수 있습니다.