在我的Asp.net MVC应用程序中,我需要将DATE TIME模型字段文化设置为" it-IT"。通常情况下,这将需要系统文化,但要改变这种不确定性,我将UI文化设置为" it-IT"
我在我的应用程序中尝试了以下代码来更改文化
<system.web>
<globalization uiCulture="it-IT" culture="it-IT" />
但是如果UnobtrusiveJavaScriptEnabled仅设置为false,则它可以正常工作。但在我的应用程序中,我必须将此值保持为真实。请参阅以下内容:
<add key="ClientValidationEnabled" value="true"/>
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>
你能否请任何人建议我以不引人注目的真实模式设定全球化文化
我的观点部分:
@Html.EJ().DatePickerFor(x => x.Date).DateFormat("dd/MM/yyyy").Locale("it-IT")
控制器:
public ActionResult Index()
{
var model = new maskEdit();
model.Date = DateTime.Now;
return View(model);
}
[HttpPost]
public ActionResult Index(maskEdit model)
{
return View(model);
}
型号:
public class maskEdit
{
[Display(Name ="DATE CULTURE")]
[DataType(DataType.Date)]
public DateTime Date{ get; set; }
}
答案 0 :(得分:2)
我找到了解决方法。在我的应用程序中,我添加了jquery不显眼的验证。所以在验证中,格式为“dd / mm / yyyy”的日期被视为无效日期。要提交格式为“dd / mm / yyyy”的日期值,请参阅以下代码:
$(document).ready(function () {
$.culture = Globalize.culture("it-IT");
$.validator.methods.date = function (value, element) {
return this.optional(element)
|| Globalize.parseDate(value, "dd/MM/yyyy", "it-IT")
|| Globalize.parseDate(value, "dd/MM/yyyy");
}
});