날짜 개체를 전달할 클라이언트 쪽 날짜 변수가 있고 서버 쪽에서 내 컨트롤러 날짜 변수를 전달하려면. 정상 필드로 전달했으며 날짜는 01-01-0001 12:00:00 AM입니다.JavaScript에서 asp.net mvc 컨트롤러
올바른 형식으로 날짜 필드를 변환하는 데 도움이됩니다.
날짜 개체를 전달할 클라이언트 쪽 날짜 변수가 있고 서버 쪽에서 내 컨트롤러 날짜 변수를 전달하려면. 정상 필드로 전달했으며 날짜는 01-01-0001 12:00:00 AM입니다.JavaScript에서 asp.net mvc 컨트롤러
올바른 형식으로 날짜 필드를 변환하는 데 도움이됩니다.
ASP.NET MVC는 DateTime 값이 Thread.CurrentLanguage 형식이어야합니다. 어떤 언어를 사용하고 있는지 확인하십시오.
사용자가 TextBox에 Date를 입력 할 수 있고 언어의 형식을 입력 할 수 있기 때문에 비슷합니다.
피터 (Pieter)는 이렇게 말합니다. 쉬운 방법은이 경우 문자열을 사용하는 것입니다.
또 다른 방법은 Global.asax에에
protected void Application_BeginRequest(object sender, EventArgs e)
{
Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
}
을 사용하는 것입니다.
당신은 ModelBinding의 앞으로 일어날 후 필터에 사용자의 언어로 다시 전환 할 수 있습니다
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
string language = //find a way to get the language - I have it in the route
Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture(language);
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(language);
base.OnActionExecuting(filterContext)
}
이 방법은 약간의 위험을 가지고 있지만, modelBinding가 InvariantCulture를 사용하는 경우 나 상황을 많이에서 쉽게 찾을 (생각 경로의 십진수 값, 경로의 날짜 시간 ...)
날짜의 문자열 표현을 ASP.NET MVC 작업에 전달하고 DateTime.TryParse(..)을 사용하여 구문 분석하는 것이 가장 쉬운 방법이라고 생각합니다.
[HttpPost]
public ActionResult(string dateTimeString)
{
DateTime tempDateTime;
if(DateTime.TryParse(dateTimeString, out tempDateTime))
{
//Handle
}
}
실제로 datetime은 내 모델의 파일이며 기본 modelbinder를 사용하고 있습니다. 클라이언트로부터 올바른 형식으로 날짜를 전달하는 방법이 있습니까? – Elangovan
오, Check Malcolm Frexner의 답변 :) –