.net 剑道UI网格编辑窗口未启动

.net 剑道UI网格编辑窗口未启动,.net,asp.net-mvc-4,kendo-grid,kendo-asp.net-mvc,.net,Asp.net Mvc 4,Kendo Grid,Kendo Asp.net Mvc,我无法启动编辑弹出窗口。我在调试应用程序时没有看到任何事件发生。我的添加用户功能运行得很好。我相信我已经正确地初始化了所有东西——有人看到我做错了什么,或者为什么初始化不正确吗 你知道为什么吗 @(Html.Kendo().Grid<Areas.Admin.ViewModels.UserManagement.UserManagementVM>() .Name("UserProfileGrid") .Resizable(c => c

我无法启动编辑弹出窗口。我在调试应用程序时没有看到任何事件发生。我的添加用户功能运行得很好。我相信我已经正确地初始化了所有东西——有人看到我做错了什么,或者为什么初始化不正确吗

你知道为什么吗

@(Html.Kendo().Grid<Areas.Admin.ViewModels.UserManagement.UserManagementVM>()
            .Name("UserProfileGrid")
            .Resizable(c => c.Columns(true))
            .Selectable()
            .Filterable()
            .Groupable()
         .ToolBar(toolbar =>
                {
                    toolbar.Template(@<text>


                        <input id="ButtonAddUser" type="button" class='k-button k-grid-add' value="Add User"/>
                        <input id="ButtonEditUser" type="button" class="k-button k-grid-edit" value="Edit user" />

                    @(Html.Kendo().Button()
                    .Name("ButtonRefreshPage")
                    .HtmlAttributes(new { type = "k-button" })
                    .Icon("history")
                    .Content("Refresh Page")
                    .Events(x => x.Click("RefreshPage")))

                    @(Html.Kendo().Button()
                    .Name("ButtonDeleteUser")
                    .HtmlAttributes(new { type = "k-button" })
                    .Icon("history")
                    .Content("Delete a user")
                    .Events(x => x.Click("DeleteUser")))

                    @(Html.Kendo().Button()
                    .Name("ButtonAbout")
                    .HtmlAttributes(new { type = "k-button" })
                    .Icon("history")
                    .Content("About")
                    .Events(x => x.Click("aboutButtonClick")))
                    </text>);
                })

                .Editable(editable => editable.Mode(GridEditMode.PopUp)
                )

                .Columns(columns =>
                {
                    //columns.Bound(e => e.UserOrg).Width(25).Title("User Organization");
                    columns.Bound(e => e.IsApproved).Width(50).Title("Approved Status");
                    columns.Bound(e => e.UserName).Width(150).Title("User Name");
                    //columns.Bound(e => e.user).Width(150);
                    columns.Bound(e => e.EmailAddress).Width(150).Title("Email Address");
                })

                .Sortable()
                .Scrollable()
                .Pageable()
                .Filterable()
                .Selectable()
                .Events(e =>
                {
                  e.Change("packageRowSelectionChanged");
                })
                .DataSource(dataSource => dataSource
                .Ajax()
                .PageSize(20)
                .Events(E => E.Error("error_handler"))
                .Model(model => model.Id(e => e.UserId))
                .Read(read => read.Action("ReadUsers", "UserManagement"))
                .Create(create => create.Action("UserProfileCreator", "UserManagement"))
                .Update(update => update.Action("UserProfileCreator", "UserManagement"))
                .Destroy(destroy => destroy.Action("EditingPopUp_Destroy", "UserManagement"))
                ))
@(Html.Kendo().Grid())
.Name(“UserProfileGrid”)
.可调整大小(c=>c.Columns(true))
.可选()
.可过滤()
.Groupable()
.ToolBar(ToolBar=>
{
工具栏.模板(@
@(Html.Kendo().Button())
.Name(“按钮刷新页面”)
.HtmlAttributes(新的{type=“k-button”})
.图标(“历史”)
.内容(“刷新页面”)
.Events(x=>x.Click(“刷新页面”))
@(Html.Kendo().Button())
.Name(“按钮删除用户”)
.HtmlAttributes(新的{type=“k-button”})
.图标(“历史”)
.Content(“删除用户”)
.Events(x=>x.Click(“删除用户”))
@(Html.Kendo().Button())
.名称(“按钮输出”)
.HtmlAttributes(新的{type=“k-button”})
.图标(“历史”)
.内容(“关于”)
.Events(x=>x.Click(“aboutButtonClick”))
);
})
.Editable(可编辑=>Editable.Mode(GridEditMode.PopUp)
)
.列(列=>
{
//columns.Bound(e=>e.UserOrg).Width(25).Title(“用户组织”);
列。绑定(e=>e.IsApproved)。宽度(50)。标题(“批准状态”);
columns.Bound(e=>e.UserName).Width(150).Title(“用户名”);
//columns.Bound(e=>e.user).Width(150);
columns.Bound(e=>e.EmailAddress).宽度(150).标题(“电子邮件地址”);
})
.Sortable()
.Scrollable()
.Pageable()
.可过滤()
.可选()
.事件(e=>
{
e、 变更(“packageRowSelectionChanged”);
})
.DataSource(DataSource=>DataSource
.Ajax()
.页面大小(20)
.Events(E=>E.Error(“错误处理程序”))
.Model(Model=>Model.Id(e=>e.UserId))
.Read(Read=>Read.Action(“ReadUsers”、“UserManagement”))
.Create(Create=>Create.Action(“UserProfileCreator”、“UserManagement”))
.Update(Update=>Update.Action(“UserProfileCreator”、“UserManagement”))
.Destroy(Destroy=>Destroy.Action(“编辑弹出窗口_Destroy”,“用户管理”))
))
两种解决方法:

答:您可以创建一个按钮并将其链接到另一个(隐藏按钮),该按钮将调用(本机)编辑功能,或者使用editRow命令,如下所示:

函数startEditUser(){
var grid=$(“#UserProfileGrid”).data(“kendoGrid”);
var selectedRow=grid.select();

grid.editRow(selectedRow);
您的列中没有编辑命令。当然,这就是为什么编辑功能不起作用的原因。您不能将编辑和删除命令添加到工具栏中。将命令添加到网格中的列部分,如下所示:

.Columns(columns =>
{
    //columns.Bound(e => e.UserOrg).Width(25).Title("User Organization");
    columns.Bound(e => e.IsApproved).Width(50).Title("Approved Status");
    columns.Bound(e => e.UserName).Width(150).Title("User Name");
    //columns.Bound(e => e.user).Width(150);
    columns.Bound(e => e.EmailAddress).Width(150).Title("Email Address");
    columns.Command(command => { command.Edit(); command.Destroy(); });
})

您正在对创建和更新使用相同的操作。这可能是问题所在。不是问题--它甚至不会向控制器发送请求。在您进行更新并单击弹出窗口上的“更新”按钮之前,请求不会发送到控制器。您可能要尝试更改更新操作。无论如何,它们不能相同。E即使这个问题没有解决,你还是会改变更新操作,对吗?顺便问一下,你使用的剑道版本是什么?很有趣——好的。是的,它当然会改变。我在解决所有问题时遇到了麻烦,一定是忘了将其切换回来。只是让弹出窗口初始化是一个大问题。不确定是什么版本——我有什么方法可以让我检查吗?这完全没有必要。你做错了什么。不需要解决办法。没有——这是正确的方法,Telerik自己验证过。网格编辑功能通常驻留在row中,而不在工具栏上。为了拥有工具栏编辑功能,你必须使用editRow函数。I just意识到您的网格没有编辑命令。您不需要额外的功能。只需添加编辑命令。检查我的答案。这提供了“内联”编辑,而不是工具栏编辑命令,这正是我们的规范所要求的。