gpt4 book ai didi

asp.net-mvc - ASP.NET MVC 4 - 网络网格。编辑后如何保留页面

转载 作者:行者123 更新时间:2023-12-04 20:00:37 24 4
gpt4 key购买 nike

我在我的项目中使用 WebGrid,我已经实现了分页/编辑和删除选项。目前,当我删除和编辑一个项目时,我将返回到第一页。

但是,我想在同一页面返回(返回列表)。您知道我该怎么做吗?

查看代码

    <div id="grid">

@{
var grid = Html.Grid(Model, rowsPerPage: 20, defaultSort: "LanguageID");

}

@grid.GetHtml(
tableStyle:"table",
alternatingRowStyle:"alternate",
selectedRowStyle:"selected",
headerStyle:"header",
columns:grid.Columns(
grid.Column(format: (item) => Html.ActionLink("Edit", "Edit", new { localizationID = item.ID, languageID = item.LanguageID })),
grid.Column("Description",header:"Language"),
grid.Column("ParameterName", header:"Parameter name"),
grid.Column("Name",header:"Original (English)", format: item => Html.Raw(item.Name)),
grid.Column("TranslationText",
header:"Translation", format: item => Html.Raw(item.TranslationText))))


</div>

Controller

public ActionResult Index()
{
translations = _translationService.GetByCulture(valueLanguage);

return View(translations);
}

[HttpPost]
public ActionResult Edit(Translation model)
{
if (ModelState.IsValid)
{
_translationService.Update(model);
return RedirectToAction("Index","Translation");
}

retrun View(model);
}

比起你。

最佳答案

这是一个迟到的答案,但它可能对某人有帮助。

如果 ajax 调用成功,我们可以将文本框或输入控件值绑定(bind)到网格,而不是返回 ActionResult

例如

WebGrid companyGrid = new WebGrid(Model, rowsPerPage: 5, ajaxUpdateContainerId: "companyGrid");

@companyGrid.GetHtml(columns: companyGrid.Columns(companyGrid.Column("CompanyID", "Company ID"),
companyGrid.Column("CompanyName", "Company Name", format: @<text><input id="companyNameTxt" type="text" class="edit-mode" value="@item.CompanyName" /><span class="display-mode" id="companyNameLbl">@item.CompanyName</span></text>),
companyGrid.Column("Action", format: @<text><button class="edit-user display-mode">Edit</button> <button class="save-user edit-mode">Save</button><button class="cancel-user edit-mode">Cancel</button></text>)))

webgrid中,公司名称栏有2个元素,一个是companyNameTxt文本框,另一个是companyNameLbl span

Ajax保存按钮功能

    $('.save-user').on('click', function () {

var tr = $(this).parents('tr:first');
var companyName = tr.find("#companyNameTxt").val();

var UserModel =
{
"ID": 1,
"companyName": companyName,
};
$.ajax({
url: '/Home/EditGrid',
data: JSON.stringify(UserModel),
type: 'POST',
contentType: 'application/json; charset=utf-8',
success: function () {
tr.find("#companyNameLbl").html(companyName);
tr.find('.edit-mode, .display-mode').toggle();
}
});
});

编辑完成后,只需将文本框值赋给标签即可。然后它将保留在同一页面中。如果结果是成功的,那么 surly 数据将保存到数据库中

Controller

public void EditGrid(int ID, string companyName)
{
// Code for editing
}

关于asp.net-mvc - ASP.NET MVC 4 - 网络网格。编辑后如何保留页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15153039/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com