我在客户端有一个日期变量,我想将日期变量传递到服务器端的 Controller 。 我已作为普通字段通过,日期默认为 01-01-0001 12:00:00 AM。
帮我将日期字段转换为正确的格式。
最佳答案
ASP.NET MVC 期望 DateTime 值采用 Thread.CurrentLanguage 格式。请检查您使用的语言。
就像这样,因为用户可能会在文本框中输入日期,然后他们会输入其语言的格式。
就像 Pieter 所说:在这种情况下,一个简单的方法是使用字符串。
另一种方法是使用
protected void Application_BeginRequest(object sender, EventArgs e)
{
Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
}
在 Global.Asax 中。
模型绑定(bind)发生后,您可以在过滤器中切换回用户的语言:
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,在很多情况下会更容易(考虑 route 的小数值、 route 的日期时间...)
关于javascript - 将 Date 对象从 javascript 传递到 asp.net mvc Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2927290/