Datetime jqgrid表单发布到webservice日期时间更改格式

Datetime jqgrid表单发布到webservice日期时间更改格式,datetime,twitter-bootstrap,jqgrid,asmx,datetimepicker,Datetime,Twitter Bootstrap,Jqgrid,Asmx,Datetimepicker,我不确定这是否与jqgrid有关,还是一个webservice/postback/JSON问题,但我会尽量提供更多信息 我正在发布jqgrid的模式弹出窗口,其中包含DateTime字段 当它从浏览器发回时,会提交以下数据(如Firebug中所示): jqgrid的模型如下所示 colModel:[ {name:'Id',index:'Id', width:60, sorttype:"int", editable: false}, {name:'ShipDate',index:'

我不确定这是否与jqgrid有关,还是一个webservice/postback/JSON问题,但我会尽量提供更多信息

我正在发布jqgrid的模式弹出窗口,其中包含DateTime字段

当它从浏览器发回时,会提交以下数据(如Firebug中所示):

jqgrid的模型如下所示

colModel:[
    {name:'Id',index:'Id', width:60, sorttype:"int", editable: false},
    {name:'ShipDate',index:'ShipDate',width:90, editable:true, sorttype:"date",unformat: pickDate},
    {name:'Name',index:'Name', width:150,editable: true,editoptions:{size:"20",maxlength:"30"}},
    {name:'InStock',index:'InStock', width:70, editable: true,edittype:"checkbox",editoptions: {value:"Yes:No"},unformat: aceSwitch},
    {name:'Ship',index:'Ship', width:90, editable: true,edittype:"select",editoptions:{value:"4:FedEx;1:InTime;2:TNT;3:ARAMEX"}},
    {name:'Note',index:'Note', width:150, sortable:false,editable: true,edittype:"textarea", editoptions:{rows:"2",cols:"10"}} 
], 
这个日期看起来像

function pickDate( cellvalue, options, cell ) {
    setTimeout(function(){
        $(cell) .find('input[type=text]')
                .datepicker({format:'dd-mm-yyyy' , autoclose:true}); 
    }, 0);
}
此外,编辑表单样式如下所示(当显示“编辑表单”时)

函数样式\u编辑\u表单(表单){
//在“sdate”字段启用日期选择器,并在“stock”字段启用开关
form.find('input[name=ShipDate]')。日期选择器({格式:'dd-mm-yyyy',自动关闭:true})
.end().find('input[name=stock]'))
.addClass('ace开关ace-switch-5')。换行('')。在('')之后;

但是,当服务器(asmx服务)收到数据时,日期时间(ShipDate)更改为“11/05/2013 00:00:00”,而从客户端发送的ShipDate为05-11-2013(这是正确的).知道发生了什么吗?

对于日期选择器,您使用的是“dd-mm-yyyy”格式,但在服务器端,它会根据安装的区域性转换为不同的格式,即随时间变化的“mm/dd/yyyy hh:mm:ss”。 如果您需要从jquery传递的相同格式,则需要以指定格式解析服务器端的日期

DateTime time = Convert.ToDateTime("11/05/2013 00:00:00"); 
Console.WriteLine(time); //Default format 
string format = "d/M/yyyy";    // Use this format
Console.WriteLine(time.ToString(format));

您的问题是?很抱歉,这个问题用粗体突出显示。我有点理解您在这里说的话。您能举个例子吗?我已经在这里放置了服务器端代码、客户端代码和服务器端代码。我想不出还有什么可以放置的地方。如果您要查找特定的内容,请告诉我。@user25018我已经更新了我的请用您提到的转换所需日期格式的示例代码回答。
function style_edit_form(form) {
    //enable datepicker on "sdate" field and switches for "stock" field
    form.find('input[name=ShipDate]').datepicker({format:'dd-mm-yyyy' , autoclose:true})
        .end().find('input[name=stock]')
                .addClass('ace ace-switch ace-switch-5').wrap('<label class="inline" />').after('<span class="lbl"></span>');
DateTime time = Convert.ToDateTime("11/05/2013 00:00:00"); 
Console.WriteLine(time); //Default format 
string format = "d/M/yyyy";    // Use this format
Console.WriteLine(time.ToString(format));