Asp.net mvc 自定义网格编辑器模板中的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字段没有任何问题

我有一个自定义编辑器模板,用于在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的帮助。。。