相关疑难解决方法(0)

控制器未收到英国格式的MVC3日期

鉴于这个VM

public class ApplicationDTO : BaseDTO
{
    public DateTime Date { get; set; }
    public int JobId {get;set;}
    public int Status {get;set;}
    [Required]
    public string Message { get; set; }
    public string ExpertCode { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

因此,我有一个隐藏的领域

@Html.Hidden("Date", DateTime.Now)
Run Code Online (Sandbox Code Playgroud)

哪个小提琴手告诉我的是按照我的预期发送到服务器(英国格式,我在英国!)

在此输入图像描述

但在控制器上,日期显示为默认最小值.日期

在此输入图像描述

它只是英国格式吗?如果是这样,我最好的方式是什么呢?虽然目前我将其设置为当前日期,但可能会将其设置为任何给定日期,即

@Html.HiddenFor(x => x.Date)
Run Code Online (Sandbox Code Playgroud)

我正在使用AJAX提交表单,如果这有所不同.

c# ajax asp.net-mvc datetime

4
推荐指数
1
解决办法
3159
查看次数

Nullable DateTime参数在调用操作时永远不会绑定

我有以下功能signuture:

public JsonResult PopulateGrid(int page, Guid? accountId, Guid? systemUserId, Guid? branchId, DateTime? fromDate, DateTime? toDate, HomeVisitType? homeVisitType)
Run Code Online (Sandbox Code Playgroud)

每个参数都绑定得很好,除非toDate结果总是为null.
检查时,Request.QueryString["toDate"]它会检索正确的值,即30/09/2010.
似乎DateTime在绑定时需要另一种格式.
什么是正确的格式?

asp.net-mvc datetime

3
推荐指数
1
解决办法
2358
查看次数

MVC日期时间模型绑定

我在我的应用程序中使用2个kendo日期选择器:

<div class="span12">
    <div class="span2" style="text-align: right">
        Start Date:
    </div>
    <div class="span2">
        @(Html.Kendo().DatePickerFor(m=>m.StartDate))
    </div>
    <div class="span2" style="text-align: right">
        End Date:
    </div>
    <div class="span2">
        @(Html.Kendo().DatePickerFor(m=>m.EndDate))
    </div>
    <div class="span4">
        <button class="btn btn-primary" onclick="getGraphData()">Show</button>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

单击该按钮时,我会读取这些日期选择器客户端的值,并向API控制器发出POST.

我遇到的问题有时是DateTime参数被错误地解析,我使用的是en-GB文化(在我的web.config中指定),但是给定日期为2014年3月1日(3月1日),当值为由模型装订器处理,它被解释为03/01/2014(1月3日).

我的javascript如下:

function getGraphData() {

        var startDatePicker = $("#StartDate").data("kendoDatePicker");
        var endDatePicker = $("#EndDate").data("kendoDatePicker");
        var param = {
            StartDate: kendo.toString(startDatePicker.value().toLocaleDateString(), "dd/MM/yyyy"),
            EndDate: kendo.toString(endDatePicker.value().toLocaleDateString(), "dd/MM/yyyy")
        };
       // Do post here

    }
Run Code Online (Sandbox Code Playgroud)

我的模型如下:

public class DateRangeParam
    {
        #region Constructors and Destructors

        /// <summary>
        /// Initializes a new instance of …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc model-binding custom-model-binder kendo-datepicker

3
推荐指数
1
解决办法
2万
查看次数