2

我正在使用带有 ajax 绑定的 Telerik MVC Grid,并且我在 InCell 编辑模式下使用带有编辑器模板的网格编辑。我想将模型传递给编辑。

据我所知,如果我使用了服务器绑定,则可以将模型传递给编辑器模板。但我不确定 Ajax 绑定。

使用 Ajax 绑定时是否可以将模型传递给编辑器模板?

4

2 回答 2

1

是的你可以!它会自动完成。如果您的模板编辑器是一个列表框,您应该通过 ViewBag.XXX 属性传递列表项。这是 ProductSelector.ascx 编辑器模板的示例:

    <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<int>" %>

<%Html.Telerik().ComboBox()
        .Name(ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty))
        .AutoFill(true)
            .BindTo(((IEnumerable<Aien.CRM.Biz.Entities.Product>)ViewBag.PossibleProducts).Select(option => new SelectListItem
            {
                Text = (option == null ? "(None)" : option.Title),
                Value = option.Id.ToString()
            }))
        .OpenOnFocus(true)
        .Render();

%>

不要忘记为相关的模型属性放置一个 UiHint 属性。

于 2012-02-09T19:21:06.567 回答
0

Telerik Mvc Grid 还有一个新功能,称为:ForeignKey,它允许您对编辑器模板进行抽象并简单地为其提供 SelectList(或 IEnumerable)。是一个例子。

columns.ForeignKey(o => o.EmployeeID, (IEnumerable)ViewData["employees"], 
                   "ID", "Name").Width(230);

默认情况下它使用下拉列表,您可以通过客户端模板更改它。

于 2012-03-16T05:47:52.190 回答