【发布时间】:2015-04-09 13:55:33
【问题描述】:
我已经定义了剑道网格剃刀:
@(Html.Kendo().Grid<MyApp.Models.FolderName.Whatever>()
.Name("grid")
...
...
由于我试图创建可重复使用的页面,我需要在控制器中定义网格模型并通过 ViewBag 传递它。
@(Html.Kendo().Grid<ViewBag.myModel>()
.Name("grid")
...
...
但是上面的尝试失败了:
它不需要通过 ViewBag,但我需要以其他方式定义模型。
【问题讨论】:
-
您是想将此网格绑定到 T 类型的模型或具有不同属性的潜在动态对象,还是与您的场景中应用于网格的模型相同?
-
@DavidShorthose,它是一个具有相同属性和方法但位于不同文件夹中的模型。它们具有相同的结构,但填充方式有点不同
-
@chiapa 对我来说听起来像是一个设计问题。将相同的实体分离到不同的位置并不是 DRY(不要重复自己)。如果您有多个共享相同属性和方法的数据类型(模型),则应使用继承。
-
@Brett,它们非常相似但不一样。每个都有从不同的 Web 服务获取数据的方法。它们拥有的属性 90% 相同,可以通过继承解决,但方法确实指向不同的 Web 服务端点,继承无法解决。
-
@chiapa 这并不完全正确。同样,通过正确的设计决策,您可以对方法使用继承。例如,您不能将 Web 服务连接参数作为参数传递给方法吗?这样你就有了一个可以访问任何 Web 服务并且很容易继承的方法。
标签: c# .net asp.net-mvc kendo-ui kendo-grid