Asp.net mvc 自定义网格编辑器模板中的telerik datetime格式未正确传递给控制器
我有一个自定义编辑器模板,用于在telerik网格中插入mvc3 razor中的车辆零件。编辑器模板包括一个日期时间字段。插入新车辆零件时,datetime字段不正确,格式已更改 例如,如果我在控制器中插入“06/10/2011”,即第6天、第10个月和第2011年,则模型中的日期时间字段为“10/06/2011”,即第10天、第6个月和第211年。我用的是telerik的日期选择器 基本上,在提交给控制器后,日期和月份将切换 我的代码中还有其他实例,其中我传递的datetime字段没有任何问题,因此我认为问题在于我使用的是自定义编辑器模板 以下是网格的代码:Asp.net mvc 自定义网格编辑器模板中的telerik datetime格式未正确传递给控制器,asp.net-mvc,datetime,telerik,telerik-mvc,datetime-format,Asp.net Mvc,Datetime,Telerik,Telerik Mvc,Datetime Format,我有一个自定义编辑器模板,用于在telerik网格中插入mvc3 razor中的车辆零件。编辑器模板包括一个日期时间字段。插入新车辆零件时,datetime字段不正确,格式已更改 例如,如果我在控制器中插入“06/10/2011”,即第6天、第10个月和第2011年,则模型中的日期时间字段为“10/06/2011”,即第10天、第6个月和第211年。我用的是telerik的日期选择器 基本上,在提交给控制器后,日期和月份将切换 我的代码中还有其他实例,其中我传递的datetime字段没有任何问题
@(Html.Telerik().Grid<VehiclePartsViewModel>()
.Name("VehiclePartsViewModel")
.ToolBar(commands =>
{ commands.Insert();
})
.DataKeys(keys => keys.Add(c => c.Id))
.ClientEvents(events => events.OnRowDataBound("onRowDataBound"))
.DataBinding(dataBinding => dataBinding
.Ajax()
.Insert(MVC.Vehicles.CustomCoverage._InsertPart().GetRouteValueDictionary())
.Select(MVC.Vehicles.CustomCoverage._SelectPart().GetRouteValueDictionary())
.Update(MVC.Vehicles.CustomCoverage._SavePart().GetRouteValueDictionary())
.Delete(MVC.Vehicles.CustomCoverage._DeletePart().GetRouteValueDictionary())
)
.Columns(columns =>
{
omitted..
})
.Footer(false)
.Editable(editing => editing.Mode(GridEditMode.PopUp))
)
谢谢您可能在应用程序的全球化/本地化方面遇到问题。 不同的文化混杂在一起 我在发布浮点值时遇到了同样的问题,通过将此方法添加到Global.asax.cs中解决了这个问题:
protected void Application_AcquireRequestState(object sender, EventArgs e)
{
System.Threading.Thread.CurrentThread.CurrentUICulture = new CultureInfo("en");
System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo("en");
}
您可能在应用程序的全球化/本地化方面存在问题。 不同的文化混杂在一起 我在发布浮点值时遇到了同样的问题,通过将此方法添加到Global.asax.cs中解决了这个问题:
protected void Application_AcquireRequestState(object sender, EventArgs e)
{
System.Threading.Thread.CurrentThread.CurrentUICulture = new CultureInfo("en");
System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo("en");
}
好吧,我终于可以用telerik解决这个问题了。。将全球化设定为现实似乎存在问题。。你必须在它前面加一行。。这就是my_layout.cshtml现在的样子
@(Html.Telerik().ScriptRegistrar()
.OnDocumentReady(@<text></text>) //Telerik: This is required because there is still no Telerik components on the page and jQuery(document).ready will not be rendered and the globalization will not work
.Globalization(true)
@(Html.Telerik().scriptregister())
.OnDocumentReady(@)//Telerik:这是必需的,因为页面和jQuery(文档)上仍然没有Telerik组件。ready将不会呈现,全球化将无法工作
.全球化(真实)
好的,所以我终于能够用telerik解决这个问题。将全球化设置为true似乎有问题。您必须在它之前添加一行。这就是我的_layout.cshtml现在的样子
@(Html.Telerik().ScriptRegistrar()
.OnDocumentReady(@<text></text>) //Telerik: This is required because there is still no Telerik components on the page and jQuery(document).ready will not be rendered and the globalization will not work
.Globalization(true)
@(Html.Telerik().scriptregister())
.OnDocumentReady(@)//Telerik:这是必需的,因为页面和jQuery(文档)上仍然没有Telerik组件。ready将不会呈现,全球化将无法工作
.全球化(真实)
谢谢你的回答,我确实试过了,但没有成功,似乎无论我将CurrentUICulture设置为什么,在某个点上它都会重置回我们。我只能在视图中的部分视图,并且网格在部分视图中时出现此问题。部分视图在插入时使用编辑器模板.非常奇怪的问题,仍然得到telerik的帮助…谢谢你的回答,我确实尝试过,但没有成功,似乎无论我将CurrentUICulture设置为什么,在某个点上它都会重置回我们。我只能在视图中的部分视图,并且网格位于部分视图中时出现此问题。The部分视图然后在插入时使用编辑器模板。非常奇怪的问题,仍然得到telerik的帮助。。。