如何将模型传递给编辑器模板

发布于 2024-12-28 04:08:03 字数 172 浏览 3 评论 0原文

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

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

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

I am using Telerik MVC Grid, with ajax binding and I use grid editing in InCell editing mode with editor templates. I would like to pass model to the editors.

As I know if I had used the server binding, it could be possible to pass the model to the editor templates. But I am not sure about Ajax binding.

Is it possible to pass a model to editor templates when you use Ajax binding?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

余生共白头 2025-01-04 04:08:03

是的,你可以!它会自动完成。如果您的模板编辑器是一个列表框,您应该通过 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 属性。

Yes you can! It does it automatically. just if your template editor is a list box , you should pass the list items through a ViewBag.XXX property.
Here is an example of ProductSelector.ascx editor template :

    <%@ 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();

%>

don't forget to put a UiHint attribute for the related model property.

装纯掩盖桑 2025-01-04 04:08:03

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

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

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

There is also the new feature of Telerik Mvc Grid called: ForeignKey, that allow you to do abstraction of the editor template and providing it simply the SelectList (or IEnumerable). Here is an example of it.

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

By default it is using drop down list, you can change that by client template.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文