Telerik MVC 自定义 AJAX 编辑器模板

Posted

技术标签:

【中文标题】Telerik MVC 自定义 AJAX 编辑器模板【英文标题】:Telerik MVC custom AJAX editor template 【发布时间】:2011-11-08 09:49:33 【问题描述】:

我将MVC version of the Telerik controlsASP.NET MVCrazor view engine 一起使用。我有一个 AJAX 网格。当我单击编辑时,我希望它以表单样式显示数据。但问题是我想以我希望它们显示的方式重新排列表单控件。我该怎么做这样的事情?目前,这些控件都在彼此之下。我想创建自己的编辑布局。

我在视图上有很多其他控件,其中一个就是这个网格。我的视图模型对象有一个子对象列表,我想使用我的网格来填充这个列表。

我的视图的视图模型:

public class EditGrantApplicationViewModel

   public string EmployeeNumber  get; set; 
   public string Title  get; set; 
   public string FirstName  get; set; 
   public string LastName  get; set; 
   // Other properties

   // I want this to be populated from the grid
   public IEnumerable<Children> Children  get; set; 

我的子列表的网格代码:

@(html.Telerik().Grid(Model.Children)
   .Name("grdChildren")
   .Columns(column =>
      
         column.Bound(x => x.Id);
         column.Bound(x => x.FullName);
      
   )
   .DataKeys(keys =>
      
         keys.Add(x => x.Id);
      
   )
   .DataBinding(dataBinding =>
      
         dataBinding.Ajax()
            .Select("_SelectAjaxEditing", "Grid")
            .Insert("_InsertAjaxEditing", "Grid")
            .Update("_SaveAjaxEditing", "Grid")
            .Delete("_DeleteAjaxEditing", "Grid");
      
   )
   .ToolBar(commands => commands.Insert().ButtonType(GridButtonType.Text))
   .Editable(editing => editing.Mode(GridEditMode.InForm))
)

我不确定我的编辑器模板应该是什么样子?它必须扩展什么?而且我无法让它以内联形式显示。我研究了布拉德威尔逊的样本,但我没有得到它。有人可以解释发生了什么吗?

只是另一个问题.. 在我的另一个页面上,我有一个网格,页面上有其他 HTML 控件。如果我正忙于编辑网格中的数据,然后单击插入,如何防止页面上的其他控件不被验证?

【问题讨论】:

【参考方案1】:

您可以为模型定义自定义编辑器模板并根据需要排列字段。 This 代码库项目展示了如何。

【讨论】:

谢谢。我看到有一个 .ascx 文件。网格所在的索引页面中使用的位置在哪里?我无法弄清楚这部分? 这就是 ASP.NET MVC 编辑器模板的工作方式。查看此博客文章以更深入地了解此功能:bradwilson.typepad.com/blog/2009/10/… 您需要为您的模型创建一个 ASP.NET MVC 编辑器模板。一旦它与 Html.EditorForModel 一起使用,它将与网格一起使用。试用代码库 - 检查 ~/Views/Shared/EditorTemplates。我不知道如何进一步提供帮助。 它就像魔术一样工作。如果您的模型名为“Customer”,那么您需要创建一个名为 Customer.cshtml 的局部视图并将其放入 ~/Views/Shared/EditorTemplates。 ASP.NET MVC 会在使用 Html.EditorForModel 时选择它。 谢谢。但是如果我不想使用 EditorFor 怎么办?

以上是关于Telerik MVC 自定义 AJAX 编辑器模板的主要内容,如果未能解决你的问题,请参考以下文章

Telerik MVC Grid Ajax 手动绑定

asp.net MVC 4 Telerik Grid Ajax 问题

Telerik MVC Grid:如何在列中使用 DropDownList?

Telerik ASP.NET Ajax RadGrid 在 MVC 和 ViewState 中?

Kendo UI Scheduler:自定义视图和编辑行为

在编辑期间设置 Telerik MVC 网格列属性