Asp.net mvc 调用第二个可编辑弹出窗口的自定义命令
我有一个MVC5应用程序,我正在使用Telerik网格。到目前为止一切都很好 除了我尝试使用一个调用可编辑弹出窗口的自定义命令,就像设置为Asp.net mvc 调用第二个可编辑弹出窗口的自定义命令,asp.net-mvc,telerik,kendo-grid,kendo-asp.net-mvc,telerik-grid,Asp.net Mvc,Telerik,Kendo Grid,Kendo Asp.net Mvc,Telerik Grid,我有一个MVC5应用程序,我正在使用Telerik网格。到目前为止一切都很好 除了我尝试使用一个调用可编辑弹出窗口的自定义命令,就像设置为GridEditMode.Popup时的编辑命令一样。这将显示网格绑定到的模型中的数据子集 我在这里看过这个演示--> 在自定义命令上,但我想知道如何将其转换为可编辑屏幕 我意识到这有点模糊,但我不确定在这一点上要问什么更具体的问题?如果我必须尝试的话,我想我想知道是否有一种方法可以代替手工构建整个编辑屏幕,用html,然后像演示一样将其嵌入到页面中 我有下面
GridEditMode.Popup
时的编辑命令一样。这将显示网格绑定到的模型中的数据子集
我在这里看过这个演示-->
在自定义命令上,但我想知道如何将其转换为可编辑屏幕
我意识到这有点模糊,但我不确定在这一点上要问什么更具体的问题?如果我必须尝试的话,我想我想知道是否有一种方法可以代替手工构建整个编辑屏幕,用html,然后像演示一样将其嵌入到页面中
我有下面的型号。我正试图在它自己的弹出窗口中找到这个孩子,ModelB
ModelA
Guid ID
string Name
IList<ModelB> Roles
ModelB
Guid ID
Guid ModelA_ID
string Role
ModelA
Guid ID
字符串名
IList角色
模型B
Guid ID
Guid ModelA_ID
字符串角色
我想您需要在弹出编辑器(在中)的另一个网格中编辑子项。子网格需要绑定到其自己的控制器/操作,该控制器/操作将父ID(modelA_ID
)作为输入参数
主栅格可能如下所示:
@(Html.Kendo().Grid<ModelA>()
.Name("grid")
.Columns(columns =>
{
columns.Bound(e => e.Name);
columns.Command(command =>
{
command.Edit();
command.Destroy();
});
})
.ToolBar(tools => tools.Create())
.Editable(editable => editable
.Mode(Kendo.Mvc.UI.GridEditMode.PopUp)
.TemplateName("MyTemplate"))
.Pageable().Sortable().Filterable()
.DataSource(source => source.Ajax()
.Model(model => model.Id(e => e.ID))
.Read(read => read.Action("Read_ModelA", "MyController"))
.Update(update => update.Action("Update_ModelA", "MyController"))
.Create(create => create.Action("Create_ModelA", "MyController"))
.Destroy(destroy => destroy.Action("Destroy_ModelA", "MyController"))))
function getCurrentParentId() {
return {
modelA_ID: $('#ModelA_ID').val()
}
}
javascript函数getCurrentParentId
如下所示:
@(Html.Kendo().Grid<ModelA>()
.Name("grid")
.Columns(columns =>
{
columns.Bound(e => e.Name);
columns.Command(command =>
{
command.Edit();
command.Destroy();
});
})
.ToolBar(tools => tools.Create())
.Editable(editable => editable
.Mode(Kendo.Mvc.UI.GridEditMode.PopUp)
.TemplateName("MyTemplate"))
.Pageable().Sortable().Filterable()
.DataSource(source => source.Ajax()
.Model(model => model.Id(e => e.ID))
.Read(read => read.Action("Read_ModelA", "MyController"))
.Update(update => update.Action("Update_ModelA", "MyController"))
.Create(create => create.Action("Create_ModelA", "MyController"))
.Destroy(destroy => destroy.Action("Destroy_ModelA", "MyController"))))
function getCurrentParentId() {
return {
modelA_ID: $('#ModelA_ID').val()
}
}
我想您需要在弹出编辑器(在中)的另一个网格中编辑子项。子网格需要绑定到其自己的控制器/操作,该控制器/操作将父ID(
modelA_ID
)作为输入参数
主栅格可能如下所示:
@(Html.Kendo().Grid<ModelA>()
.Name("grid")
.Columns(columns =>
{
columns.Bound(e => e.Name);
columns.Command(command =>
{
command.Edit();
command.Destroy();
});
})
.ToolBar(tools => tools.Create())
.Editable(editable => editable
.Mode(Kendo.Mvc.UI.GridEditMode.PopUp)
.TemplateName("MyTemplate"))
.Pageable().Sortable().Filterable()
.DataSource(source => source.Ajax()
.Model(model => model.Id(e => e.ID))
.Read(read => read.Action("Read_ModelA", "MyController"))
.Update(update => update.Action("Update_ModelA", "MyController"))
.Create(create => create.Action("Create_ModelA", "MyController"))
.Destroy(destroy => destroy.Action("Destroy_ModelA", "MyController"))))
function getCurrentParentId() {
return {
modelA_ID: $('#ModelA_ID').val()
}
}
javascript函数getCurrentParentId
如下所示:
@(Html.Kendo().Grid<ModelA>()
.Name("grid")
.Columns(columns =>
{
columns.Bound(e => e.Name);
columns.Command(command =>
{
command.Edit();
command.Destroy();
});
})
.ToolBar(tools => tools.Create())
.Editable(editable => editable
.Mode(Kendo.Mvc.UI.GridEditMode.PopUp)
.TemplateName("MyTemplate"))
.Pageable().Sortable().Filterable()
.DataSource(source => source.Ajax()
.Model(model => model.Id(e => e.ID))
.Read(read => read.Action("Read_ModelA", "MyController"))
.Update(update => update.Action("Update_ModelA", "MyController"))
.Create(create => create.Action("Create_ModelA", "MyController"))
.Destroy(destroy => destroy.Action("Destroy_ModelA", "MyController"))))
function getCurrentParentId() {
return {
modelA_ID: $('#ModelA_ID').val()
}
}
是否要编辑网格中的行,或者是否有其他数据要在自定义窗口中编辑?抱歉,我将在问题中添加我的模型,谢谢。无需添加模型。我只是不明白你的问题是否与网格编辑有关?你想编辑网格中的一行,还是想在自定义窗口中编辑一些其他数据?对不起,我会将我的模型添加到我的问题中,谢谢。不需要添加模型。我只是不明白你的问题是否与网格编辑有关?谢谢你的回答,我会尝试一下,不过这不会只是在我已经有的编辑弹出窗口中创建一个网格?如果是这样,我需要它在一个单独的弹出窗口,这是我的要求奇怪。他们希望同时查看所有数据,但有两种不同的编辑工作流。有意义吗?你不能用吗?嗯,我不这么认为,除非我能为每个人都弹出一个窗口。我将不得不四处看看,因为我甚至不确定这是可能的…我相信你可以为每一个弹出式编辑。只需确保在子项的编辑事件中设置父项id。不幸的是,如果您需要创建一些与演示不同的自定义UI,那么您需要编写大量难以维护的javascript。好吧,很酷。根据你的答案,我一定会试试看。这并不完全是“他们”想要的,但非常危险,所以希望如此!感谢您的回复,我将尝试一下,这不就是在我已经拥有的编辑弹出窗口中创建一个网格吗?如果是这样,我需要它在一个单独的弹出窗口,这是我的要求奇怪。他们希望同时查看所有数据,但有两种不同的编辑工作流。有意义吗?你不能用吗?嗯,我不这么认为,除非我能为每个人都弹出一个窗口。我将不得不四处看看,因为我甚至不确定这是可能的…我相信你可以为每一个弹出式编辑。只需确保在子项的编辑事件中设置父项id。不幸的是,如果您需要创建一些与演示不同的自定义UI,那么您需要编写大量难以维护的javascript。好吧,很酷。根据你的答案,我一定会试试看。这并不完全是“他们”想要的,但非常危险,所以希望如此!