我正在使用带有ajax绑定的Telerik MVC Grid,我使用编辑器模板在InCell编辑模式下使用网格编辑。我想将模型传递给编辑。
据我所知,如果我使用过服务器绑定,则可以将模型传递给编辑器模板。但我不确定Ajax绑定。
使用Ajax绑定时是否可以将模型传递给编辑器模板?
答案 0 :(得分: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属性。
答案 1 :(得分:0)
还有Telerik Mvc Grid的新功能:ForeignKey,它允许您对编辑器模板进行抽象,并简单地为其提供SelectList(或IEnumerable)。 Here就是一个例子。
columns.ForeignKey(o => o.EmployeeID, (IEnumerable)ViewData["employees"],
"ID", "Name").Width(230);
默认情况下,它使用下拉列表,您可以通过客户端模板更改它。