【发布时间】:2016-09-22 15:40:09
【问题描述】:
我正在使用 Kedno 网格开发 MVC 应用程序。 我有一个带有属性的模型项目:
public bool IsPaid { get; set; }
public Nullable<DateTime> PaymentDate { get; set; }
在视图中的 Kedno 网格中:
columns.Bound(c => c.PaymentDate).Format("{0:dd-MMM-yyyy}");
当我在网格中编辑并将 IsPaid 设置为 false 时,逻辑必须将 PaymentDate 设置为 null。
例如,我有一个项目的 PaymentDate 为 2016 年 9 月 22 日,IsPaid 为 true。
在 Kendo 网格中编辑后,此 Item 设置 IsPaid 为 false,当我单击 Save Changes 时,它会调用控制器中的方法 Update:
public ActionResult Update([DataSourceRequest] DataSourceRequest request, [Bind(Prefix = "models")]IEnumerable<ItemViewModel> items)
{
if (ModelState.IsValid)
{
//
}
}
但 ModelState 无效:"The value '9/22/2016 12:00:00 AM' is not valid for...".
如果 PaymentDate 为 01-Sep-2016,则 ModelState 有效。
另外,我按照Globalization section 中的步骤操作。
在 web.config 中:
<globalization uiCulture="bg-BG" culture="bg-BG"></globalization>
在控制器中:
protected override void Initialize(RequestContext requestContext)
{
Thread.CurrentThread.CurrentCulture =
Thread.CurrentThread.CurrentUICulture =
new CultureInfo(requestContext.HttpContext.Request.UserLanguages[0]);
base.Initialize(requestContext);
}
在视图中:
@{
var culture = System.Globalization.CultureInfo.CurrentCulture.ToString();
}
<script src="@Url.Content("~/scripts/cultures/kendo.culture." + culture + ".min.js")"></script>
<script>
kendo.culture("@culture");
</script>
有什么建议吗?
非常感谢!
【问题讨论】:
-
您似乎忘记了
kendo在您的路径中...<script src="@Url.Content("~/scripts/kendo/cultures/kendo.culture." + culture + ".min.js")"></script> -
不,脚本已正确加载。文件夹
cultures位于文件夹scripts中。不过还是谢谢
标签: asp.net-mvc validation datetime kendo-grid currentculture