C# 如何在确认的情况下从剑道网格中删除一行,并将所选ID传递到Destroy方法中

C# 如何在确认的情况下从剑道网格中删除一行,并将所选ID传递到Destroy方法中,c#,kendo-grid,C#,Kendo Grid,如何在确认并将所选ID传递到Destroy方法的情况下从剑道网格中删除一行?以下是我的cshtml代码: @(Html.Kendo().Grid<EmailTemplateEditor.Models.EmailTemplate>() .Name("EmailTemplates") .Columns(columns => { columns.Bound(c => c.ID).ClientTemplate("<a href

如何在确认并将所选ID传递到Destroy方法的情况下从剑道网格中删除一行?以下是我的cshtml代码:

    @(Html.Kendo().Grid<EmailTemplateEditor.Models.EmailTemplate>()
    .Name("EmailTemplates")
    .Columns(columns =>
    {
        columns.Bound(c => c.ID).ClientTemplate("<a href='/EmailTemplate/EmailTemplate/#=ID#'>#=ID#</a>");            
        columns.Bound(c => c.Name);
        columns.Bound(c => c.Subject);
        columns.Bound(c => c.OperationalBrand);
        columns.Bound(c => c.Body);
        columns.Bound(c => c.DateAdded).Format("{0:MM/dd/yyyy}");
        columns.Command(command => command.Destroy()).Width(110);
    })
        .HtmlAttributes(new { style = "height: 700px;" })
        .Scrollable()
        .Groupable()
        .AutoBind(true)
        .Sortable()
        .Filterable()
        .Pageable(pageable => pageable
            .PageSizes(true)
            .ButtonCount(5))
        .DataSource(dataSource => dataSource
                .Ajax()
                .Model(model => model.Id(p => p.ID))
                        .Read(read => read.Action("GetEmailTemplates", "Home"))                            
                .PageSize(20)
                .ServerOperation(true)                    
                .Destroy(update => update.Action("Delete", "Home", Model.ID))
        )
)
当我运行这个程序时,我得到一个错误,说Model.ID为null。如果我不能以这种方式访问当前行的ID,我该怎么做?我真的不想为了使用“传输”风格的数据源而重构它,但是如果这是唯一的方法,请告诉我。以下是UI的外观:


谢谢

将销毁命令更改为以下命令

.Destroy(update => update.Action("Delete", "Home"))
然后,您的控制器将:

public ActionResult Delete([DataSourceRequest] DataSourceRequest request, EmailTemplate myModel)
然后,您可以使用

myModel.ID

这是我尝试的第一件事,但该方法从未被调用。如果我删除EmailTemplate myModel输入参数,那么它会被调用,但随后我会丢失所需的输入。它应该可以工作。调试建议(IE)。打开开发者工具(F12),然后打开网络选项卡,启用网络流量捕获。您将能够看到您的请求/主页/删除,并打开它,查看您收到的错误。可能是404错误。我猜你已经正确安装了所有剑道库。它显示的状态是500,因为输入列表末尾的EmailTemplate参数不匹配。这表明在框架的服务器端初始化EmailTemplate对象时引发了异常。EmailTemplate是实体框架(域模型)自动生成的类吗?如果是,我建议您创建自己的视图模型,例如ViewModelEmailTemplate类,并且只使用基本数据类型。如果不是域模型,您可以在此处发布EmailTemplate类。很高兴看一看。
myModel.ID