Ich versuche, eine benutzerdefinierte Befehlsschaltfläche zu erstellen, um eine benutzerdefinierte Löschfunktion auszulösen. Ich muss die ID meines Modells an meine benutzerdefinierte Löschfunktion übergeben. Sie werden feststellen, dass ich versuche, eine statische "5" als Test zu übergeben, aber ich möchte die ID der Zeile weitergeben.Kendo MVC Grid: Erstellen einer benutzerdefinierten Befehlsschaltfläche und Übergeben von Parametern
Jede Hilfe würde sehr geschätzt werden.
@(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"))
))
Wie würde ich auf diesen Datakey in meiner Funktion DeleteProperty zugreifen? Funktion DeleteProperty (e) ... Ich habe versucht, eine Warnung (e) und alles, was ich sehe, ist Objekt. Ich muss die ID bekommen. – Mithrilhall
Mein Fehler. Ich habe nicht bemerkt, dass dies eine JavaScript-Funktion aufgerufen hat. Es tut uns leid! In diesem Sinne ändern Sie Ihre benutzerdefinierte Befehlssyntax in: command.Custom ("Delete"). Klicken Sie auf ("PropertyPage.DeleteProperty"); Und Ihre Funktion sollte so aussehen: Funktion DeleteProperty (e) {// Oder was auch immer Ihr Funktionsname ist \t var dataItem = this.dataItem ($ (e.currentTarget) .closes ("tr")); \t var id = dataItem.Id; \t Warnung (ID); } –