Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 调用第二个可编辑弹出窗口的自定义命令_Asp.net Mvc_Telerik_Kendo Grid_Kendo Asp.net Mvc_Telerik Grid - Fatal编程技术网

Asp.net mvc 调用第二个可编辑弹出窗口的自定义命令

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,然后像演示一样将其嵌入到页面中 我有下面

我有一个MVC5应用程序,我正在使用Telerik网格。到目前为止一切都很好

除了我尝试使用一个调用可编辑弹出窗口的自定义命令,就像设置为
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。好吧,很酷。根据你的答案,我一定会试试看。这并不完全是“他们”想要的,但非常危险,所以希望如此!