Telerik mvc grid,Model Field to db field name relation

时间:2011-02-07 21:32:01

标签: c# asp.net-mvc-2 telerik-grid telerik-mvc

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

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

2 个答案:

答案 0 :(得分:1)

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

[GridAction]
    public ActionResult AjaxIndex()
    {
        // Get all of the orders
        return View(new GridModel(orderBll.GetAll()));
    }

答案 1 :(得分:0)

据我了解,您的模型就是您要查询的模型,并且应该保持一致,以便您可以查询数据库。如果您希望网格列的标题中包含不同的文本,则可以在绑定列时使用Title()方法执行此操作:

.Columns(columns =>
{
    columns.Bound(a => a.Surname).Title("Family name");
....