繁体   English   中英

MVC3的jQuery日期时间选择器日期时间格式问题

[英]jquery datetime picker datetime format issue with MVC3

我在MVC3应用程序中使用JQuery Date Time Picker。我使用日期时间来过滤列表的结果。以下是我的搜索URL的外观

/Objectives?Description=&FromDate=03%2F10%2F2011

所选的日期时间格式为2011年10月3日。

但是在控制器中解决该问题后,系统会将其视为2011年3月10日。

选择的文化是en-GB

但是当它以ajax形式使用时,此问题不存在,因为Ajax URL自动设置为/Objectives?Description=&FromDate=10%2F03%2F2011

我使用以下代码行来格式化DateTimePicker中的日期时间。

$(function () {
    $(".datePicker").datepicker({ 
            changeMonth: true,
            changeYear: true,
            dateFormat: 'dd/mm/yy',
            altField: 'dd-mm-yy', 
            altFormat: 'dd/mm/yy' 

    });
});

以下是DateTime编辑器的代码

@model DateTime?
@{
    var htmlAttributes = new Dictionary<string, Object>();
    htmlAttributes.Add("class", "datePicker");
    htmlAttributes.Add("readonly", "true"); 
}
@Html.TextBox(string.Empty, (Model.HasValue ? Model.Value.ToString() : string.Empty), htmlAttributes)

我们使用以下模型从用户获取数据。

public class LogModel : LogBaseModel
{

    [Display(Name = "From Date")]
        public DateTime? FromDate { get; set; }

        [Display(Name = "To Date")]
        public DateTime? ToDate { get; set; }

}

以下是index.cshtml中的代码

@using (Html.BeginForm("Index", "Calls", Model, FormMethod.Get))
{
<div id="filter_set_wrapper">
                    @Html.Custom().FilterLabelFor(model => model.FromDate)
                    @Html.Custom().TextBoxFor(model => model.FromDate)
                    @Ajax.TextBoxClear("FromDate", "FromDateClear(#FromDate#, ##);", "Clear From Date", "PopUpLink.PNG")
                </div>
                <div id="filter_set_wrapper">
                    @Html.Custom().FilterLabelFor(model => model.ToDate)
                    @Html.Custom().TextBoxFor(model => model.ToDate)
                    @Ajax.TextBoxClear("ToDate", "ToDateClear(#ToDate#, ##);", "Clear To Date", "PopUpLink.PNG")
                </div>

<input type="submit" class="btn" value="Filter" />
}

以下是控制器方法

public ActionResult Index(LogModel callsModel)
        {
            if (callsModel.FromDate != null)
            {
                var model = callsModel;

                var d = DateTime.Parse(model.FromDate.Value.ToString("MM/dd/yyyy"));



            }
}

任何人都可以帮助我解决这个问题。第一个答案是给出正确的日期时间。但是问题是当与上述模型一起使用时,无法为控制器方法获得正确的日期。提到的型号请回复。

提前致谢。

您是否使用DateTime.ParseExact?

var date = DateTime.ParseExact(Request["FromDate"], "dd/MM/yy", CultureInfo.InvariantCulture);

我认为应该工作吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM