現在、CRUD機能を備えたWebサイトを開発しています。以下の JavaScript コードを使用して、追加、編集、または削除が正常に完了した後にメッセージを表示しています。
function addSuccess(data) {
if (data.Success == true) {
$('#addDialog').dialog('close');
$('#commonMessage').html("Process Complete");
$('#commonMessage').delay(400).slideDown(400).delay(3000).slideUp(400);
}
else {
$("#add-message").html(data.ErrorMessage);
$("#add-message").show();
}
}
ただし、webGrid を含む部分ビューで結果をレンダリングしています。この場合、製品の表形式のリストがこの部分ビューにあります。(たとえば)編集プロセスが完了した後、編集ダイアログが閉じられた後に編集されたフィールドが反映されるようにします。私の問題は、ページ全体に影響を与えずに部分ビューを更新する方法がわからないことです。
誰かがこれを行う良い方法を教えてもらえますか? どうもありがとうございました!
編集:
以下は、グリッドにアイテムを追加する方法です。このコード全体が私の PartialView 内にあることに注意してください。ありがとうございました!
@{
MyStore.Business.Manager.ProductsManager repository = new MyStore.Business.Manager.ProductsManager ();
List<MyStore.Data.Products> ProductsList = repository.GetAllProducts(ViewData["StoreCode"].ToString());
var grid = new WebGrid(ProductsList );
grid.Pager(WebGridPagerModes.All);
@grid.GetHtml(tableStyle: "webGrid",
htmlAttributes: new { id = "DataTable" },
headerStyle: "header",
alternatingRowStyle: "alt",
columns: grid.Columns(
grid.Column("ProductCode", style: "width: 400px;"),
grid.Column("Name", style: "width: 400px"),
grid.Column("Price", style: "width: 100px;"),
grid.Column("", format: @<text>@Html.ActionLink("Edit", "_Edit", new { RecordID = item.RecordID }, new { @class = "editLink" })</text>, style: "width: 100px"),
grid.Column("", format: @<text>@Html.ActionLink("Delete", "_Delete", new { RecordID = item.RecordID }, new { @class = "editLink" })</text>, style: "width: 100px")
));
}