1

我有一个 Telerik mvc 网格。我正试图让排序工作。我将我的网格绑定到模型集合。该模型具有与数据层不同的字段名称。
当我单击排序按钮时,网格将排序列名称作为我要绑定的模型的属性名称传递。我想将其设置为不同的名称,以使其与我的数据访问层匹配。我之前通过向模型的属性添加一个属性来指定相关的数据库字段名称来完成此操作。Telerik 的网格中有类似的东西吗?
我试过 [Column(Name = "Myname")]

但这似乎被忽略了。
我不想以任何方式配置网格来了解这些名称。UI 层不应该知道 DB 层的字段名称。有什么办法可以在我的模型中进行设置吗?

4

2 回答 2

1

我不确定我是否理解您要执行的操作。示例代码可能会有所帮助。话虽如此,我会尽力回答你的问题。您可以覆盖控制器上用于对 Telerik 网格进行排序的方法中的名称。我也有同样的情况,排序没有问题。我将网格直接绑定到模型,它根本不访问数据访问逻辑。Telerik 网格使用 Linq,因此它应该只对您的集合进行排序,而不必重新连接到数据访问逻辑。我已经包含了我在 Telerik 网格上进行排序时调用的控制器方法的示例。Orderbll.GetAll 返回一个订单集合。

[GridAction]
    public ActionResult AjaxIndex()
    {
        // Get all of the orders
        return View(new GridModel(orderBll.GetAll()));
    }
于 2011-03-04T21:38:27.233 回答
0

据我了解,您的模型就是您要查询的内容,并且应该保持一致,以便您可以查询数据库。如果您想要在网格列的标题中使用不同的文本,您可以Title()在绑定列时使用以下方法:

.Columns(columns =>
{
    columns.Bound(a => a.Surname).Title("Family name");
....
于 2013-03-04T11:25:23.577 回答