Inline-Bearbeitung von Webgrid Zeile in MVC3
public class UserDetailsModel
{
public int ID { get; set; }
public string LoginID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string IsDeleted { get; set; }
public DateTime CreatedOn { get; set; }
}
Controller:
public ActionResult Index()
{
object model = obj.getUserList();
return View(model);
}
public ActionResult Delete(int id)
{
BAL_obj.deleteUser(id);
object model = obj.getUserList();
return View("Index",model);
}
Index.cshtml:
@model IEnumerable<WebGrid1App.Models.UserDetailsModel>
@{
WebGrid grid = new WebGrid(Model);
}
<h2>People</h2>
@grid.GetHtml(
headerStyle: "headerStyle",
tableStyle: "tableStyle",
alternatingRowStyle: "alternateStyle",
fillEmptyRows: true,
mode: WebGridPagerModes.All,
firstText: "<< First",
previousText: "< Prev",
nextText: "Next >",
lastText: "Last >>",
columns: new [] {
grid.Column("ID",header: "ID"),
grid.Column("LoginId",header:"LoginID"),
grid.Column("FirstName", canSort: false),
grid.Column("LastName"),
grid.Column("CreatedOn",
header: "CreatedOn",
format: p=>p.CreatedOn.ToShortDateString()
),
grid.Column("",
header: "Actions",
format: @<text>
@Html.ActionLink("Edit", "Edit", new { id=item.ID} )
|
@Html.ActionLink("Delete", "Delete", new { id=item.ID} )
</text>
)
})
Habe ich getan, mit der delete-operation.
Wie kann ich das Bearbeiten einer Zeile auf derselben Seite und speichern Sie die änderungen in die Datenbank?
Gibt es die Bearbeiten-Schaltfläche. Wenn Sie darauf klicken, wird die Zeile bearbeitet werden.
Mittlerweile Bearbeiten link-text geändert, als link Speichern.
Nun, wenn Sie auf Speichern klicken, Zeile aktualisiert werden muss.
Will ich tun, Inline-editing.
Können Sie mir bitte helfen mit diesem?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Konnte man AJAX verwenden. Starten Sie durch das einwickeln der webGrid in ein html-Formular, das den Datensatz Bearbeiten:
Dann hätte man 2 Teiltöne, eine für die Bearbeitung und einen für die Anzeige eines einzelnen Datensatzes.
EditUserDetailsModel.cshtml
:DisplayUserDetailsModel
:und dann hätten wir noch die entsprechenden controller-Aktionen:
und schließlich die Sie javascript, um diese lebendig:
jQuery UI dialog
.Den Antwort per ajax funktioniert - aber Sie müssen sich bewusst sein, dass hier mehrere Zeilen werden kann simultaneuously im Bearbeiten-Modus.
Lösung erlaubt nur die Bearbeitung einer Zeile (mit weniger ajax-requests) ist:
http://www.c-sharpcorner.com/UploadFile/cd7c2e/create-an-editable-webgrid-in-mvc4-to-implement-crud-operati/