【发布时间】:2011-09-06 12:30:07
【问题描述】:
我将 MVC Telerik 控件与 ASP.NET MVC 3 razor 视图引擎一起使用。我正在与网格作斗争。我最初发布了一个问题,但没有找到任何运气。在这里:
Telerik MVC custom AJAX editor template
我的视图接受名为EditGrantApplicationViewModel 的视图模型。此视图上有许多不同类型的控件。文本框、下拉菜单和 Telerik 网格。该系统是一个教育基金系统,在申请贷款时,您必须指定您孩子的详细信息。所以我认为如果我在网格中显示孩子,然后可以通过网格添加一个孩子并链接到我的视图模型中的 Children 属性,对用户来说会更好。
public class EditGrantApplicationViewModel
{
public int Id { get; set; }
public string EmployeeNumber { get; set; }
public string Title { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public IEnumerable<Children> Children { get; set; }
}
我将网格绑定到视图模型的 Children 属性,如下所示:
@(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))
)
我选择 AJAX 网格的原因是,当我在网格中单击插入时,整个页面都会得到验证。这里我不想将孩子添加到数据库中,我只想添加到 Children 属性中。
我遇到的问题是编辑器模板。我正在进行内联编辑,我想指定我自己的编辑器模板,因为我想在这个模板中重新排列我的控件。如何为EditGrantApplicationViewModel.Children 创建编辑器模板?
我创建了一个名为Children.cshtml 的局部视图,但它没有被拉入我的网格。有人告诉我让它使用 Children 模型,但是我如何在局部视图中指定它,因为我不能有类似的东西:
@model MyProject.ViewModels.EditGrantApplicationViewModel.Children
我有一个例子,但我无法让它在我的场景中工作。
我这样做是否正确?还有什么可以尝试的?
【问题讨论】:
-
这是我想要回答的问题。阅读我的帖子,然后您会看到我提到了它!请不要投票关闭。我正在寻找我在其他帖子中没有得到的答案。
-
我到处寻找答案,但找不到适合我的场景的东西。
-
这不是骗子,伙计们。继续前进。
标签: c# asp.net asp.net-mvc asp.net-mvc-3 telerik-mvc