【问题标题】:Adding Kendo UI to existing ASP.NET将 Kendo UI 添加到现有的 ASP.NET
【发布时间】:2015-11-17 21:47:40
【问题描述】:

我刚刚开始接触 ASP.NET MVC 5 和 Kendo。使用现有的 MS 教程,我创建了一个 ASP.NET 项目,该项目大致完成了我想要的(来自不同用户的一些数据输入)。现在我正在尝试将 Kendo UI 添加到项目中,但我不确定如何将现有的 Razor cshtml 转换为正确使用 Kendo。

例如,我有:

@Html.EditorFor(model => model.someDate, new { htmlAttributes = new { @class = "form-control" }})

我尝试将其更改为:

@Html.Kendo().DatePickerFor( model => model.someDate).Name( "someDate" ).HtmlAttributes( new { style = "width:100%" } )

这很有效,因为我看到了 Kendo UI 日期选择器。但是如果我用它来选择一个日期并保存数据,我会得到这个异常:

异常详细信息:System.Data.SqlClient.SqlException:转换 将 datetime2 数据类型转换为 datetime 数据类型会导致 超出范围的值。声明已终止。

我以为我可以直接使用剑道控件,但显然不行。是否有可能让它像原始的 Html.EditorFor 代码一样工作?如果有,怎么做?

【问题讨论】:

  • 在 POST 方法中检查 someDate 的值是什么。我假设绑定失败并且它的1/1/0001?
  • 嗨,斯蒂芬。谢谢!我发现了问题。我在 Name() 部分有错字,所以它没有将值存储回正确的字段中。
  • 不要使用.Name()。检查您生成的 html - name 属性是自动添加的(不要尝试覆盖它)

标签: asp.net asp.net-mvc razor kendo-ui


【解决方案1】:

删除.Name( "someDate" )。所以你的代码将是:

@Html.Kendo().DatePickerFor( model => model.someDate).HtmlAttributes( new { style = "width:100%" } )

【讨论】:

  • 谢谢哈迪!那行得通,而且似乎是一种更清洁的方法。我现在不确定 .Name() 是如何添加的;很高兴现在一切正常。
猜你喜欢
  • 2012-09-06
  • 2013-09-17
  • 1970-01-01
  • 1970-01-01
  • 2013-04-16
  • 2014-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多