Kel*_*ine 5 kendo-ui kendo-grid kendo-asp.net-mvc
在@(Html.Kendo().Grid(Model)中定义DataSource时,我已经成功使用了
.DataSource( dataSource => .Ajax( ).Model( model => model.Id( m => m.PROPERTY ) ) )
Run Code Online (Sandbox Code Playgroud)
其中PROPERTY是作为模型的对象的属性.如果Model是System.Data.DataTable并且DataTable中的Id列是TableId,那么定义Model.Id的正确语法是什么?
换句话说,model.Id(m => ???).
我试过了,model.Id( m => Model.PrimaryKey )这似乎满足了model.Id设置的要求,但Update Action(.Update(update => update.Action("MyUpdateMethod", "MyController"))没有命中,所以我认为仍然有问题.
我有一个答案,尽管它不是很圆滑。它有几个部分。
首先,为了编辑,我必须设置一个 Model.Id,如何做这是我最初的问题。答案很简单,model.Id( "KEY_COLUMN_NAME" )在 .DataSource.Model 方法中。但是,这还不足以解决更新不发生的问题。Telerik 支持建议我需要定义一个自定义数据对象 (POCO),该对象具有与 DataTable 的列相同的所有属性。POCO 成为更新的类型
public ActionResult MyUpdate( [DataSourceRequest] DataSourceRequest _request, MyPOCO _data ){...}
然后,编辑器可以将 DataRow 列映射到 POCO 属性,然后 MyUpdate 就可以工作了。
| 归档时间: |
|
| 查看次数: |
15667 次 |
| 最近记录: |