web-dev-qa-db-ja.com

Kendo MVCグリッド:カスタムコマンドボタンの作成とパラメーターの受け渡し

カスタム削除機能を起動するためのカスタムコマンドボタンを作成しようとしています。モデルのIDをカスタム削除関数に渡す必要があります。テストとして静的な「5」を渡そうとしていることに気付くでしょうが、行のIDを渡したいと思います。

どんな助けでも大歓迎です。

@(Html.Kendo().Grid(Model)
.Name("Grid")
.Columns(columns =>
{
    columns.Bound(p => p.Name).Width(240);
    columns.Bound(p => p.City).Width(170);
    columns.Bound(p => p.State).Width(170);
    columns.Command(command =>
    {
        command.Edit();
        command.Custom("Delete").Click("PropertyPage.DeleteProperty").HtmlAttributes(new { @Id = 5 });
        }).Width(166);
    })
    .Scrollable()
    .Editable(editable => editable.Mode(GridEditMode.InLine))
    .DataSource(dataSource => dataSource
        .Ajax()
        .Model(model => model.Id(p => p.Id))
        .Read(read => read.Action("PropertyRead", "Property"))
        .Update(update => update.Action("Update", "Property"))
        .Destroy(update => update.Action("Delete", "Property"))
))
9
Mithrilhall

これにより、指定されたデータキーが送信されます。

command.Custom("Delete").SendDataKeys(true).Click("PropertyPage.DeleteProperty");

DataKeysは、DataSourceセクションで指定されます。

    .DataSource(dataSource => dataSource
    .Ajax()
    .Model(model => model.Id(p => p.Id))  // THIS IS YOUR DATA KEY
    .Read(read => read.Action("PropertyRead", "Property"))
    .Update(update => update.Action("Update", "Property"))
    .Destroy(update => update.Action("Delete", "Property"))

剣道のサイトでもこのページを見つけました。私が同様の問題を抱えていたとき、それは私を助けました: http://docs.kendoui.c​​om/getting-started/using-kendo-with/aspnet-mvc/migration/widgets/grid#editing

お役に立てれば!

12
Jark Monster