Kendo DateTimePicker没有发布asp.net MVC

时间:2017-10-16 10:33:38

标签: asp.net-mvc post kendo-asp.net-mvc kendo-datetimepicker

我试图发布一个包含下拉列表的表单,其中包含值以及开始和结束日期和时间。问题是当我发布表单时,它基本上没有发布。而不是发布它是选择dateTimePicker输入(因为html结果中的蓝色边框)。我不能指责错误。提前谢谢!

DateTimePicker partials

    @(Html.Kendo().DateTimePicker()
          .Name("dtStartDatum")
          .Value( DateTime.Today )
          .Format( "dd-MM-yyyy HH:mm" )
          .TimeFormat( "HH:mm" )
          .DateInput( true )
    )

    @(Html.Kendo().DateTimePicker()
          .Name("dtEindDatum")
          .Value( DateTime.Now)
          .Format( "dd-MM-yyyy HH:mm" )
          .TimeFormat( "HH:mm" )
          .Min(Model.dtStartDatum)
          .DateInput(true)
    )

具有2个DateTimes的Viewmodel:

    public IEnumerable<vmPar> parVoerpunt { get; set; }
    public IEnumerable<vmPar> parKanaal { get; set; }
    public IEnumerable<vmPar> parAlarm { get; set; }
    [DataType( DataType.DateTime )]
    public System.DateTime dtStartDatum { get; set; }
    [DataType( DataType.DateTime )]
    public System.DateTime dtEindDatum { get; set; }
    public int afdelingId { get; set; }
    public int afdelingIdSelected { get; set; }
    public int stalId { get; set; }

enter image description here修改 事实上,它经常会在重新定义10次新日期之后发布。当它发布时它是正确的价值,但我不知道它为什么不总是张贴。

2 个答案:

答案 0 :(得分:2)

我在我的项目中经常使用kendo DateTimePickers。从我看到的有一些事情可以引导你解决问题。

@(Html.Kendo().DateTimePickerFor(m => m.dtStartDatum)
      .Name("dtStartDatum")
      .Value( DateTime.Today )
      .Format( "dd-MM-yyyy HH:mm" )
      .TimeFormat( "HH:mm" )
      .DateInput( true )
)
  1. 您要将第二个datetimepicker设置为Model.dtStartDatum的最小值。当视图呈现时我猜测该字段没有任何值。您可以将第一个datetimepicker的值设置为DateTime.Today,但这并不意味着它将从第二个datetimepicker的min属性中读取。绑定到第二个datetimepicker的最小值的值可能不允许某些日期绑定到模型。检查它的最简单方法是打开日期选择器,看看它是否允许您在今天之前选择日期。
  2. 由于您似乎使用具有这些字段的模型,因此您可以使用DateTimePickerFor来绑定模型字段。使用它的方式并非如此,但由于您在视图中插入模型,因此这是一种更好的做法。 (上面的例子)

  3. 我不认为dateInput对你来说是必要的。我不认为它会以任何不好的方式影响任何事情,但这不是必需的。

答案 1 :(得分:2)

我找到了答案,抱歉等了很长时间,只是提醒自己这篇文章。

Unobtrusive validation in Chrome won't validate with dd/mm/yyyy

这是我的问题和我的问题。验证器切换月份和日期,以便在第12周的日期之前选择日期给出验证错误(这是一个非常无声的错误,仍然无法找到它)。真的很奇怪,即使全球化设置得当,dd-mm-yyyy也不会正确验证。 希望我能帮助别人。