【发布时间】:2013-02-15 16:15:07
【问题描述】:
我在我的项目中使用 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>
控制器
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);
}
比你。
【问题讨论】:
-
更新数据后,只需将所有数据加载到您的编辑并返回视图
-
“加载数据”是什么意思?我还需要从我的数据库中获取数据吗?那怎么会返回页面呢?也许不清楚,例如我在 Index.chtml?page=5 和编辑后,我会返回到 Page=5 而不是在 Index 页面。
-
在编辑操作时获取页面的值,并在重定向时将查询字符串作为
return RedirectToAction("Index","Translation",new {page=5});在编辑操作中传递 -
对不起,你有例子吗?我在这里真的很新,我不知道如何管理页码。我是否必须将 HTTPGet Edit 调用中的页码作为参数传递?并且能够在 HTTPPost Edit 中检索它?
-
我不确定这是最好的解决方案,但为了解决我的问题,我为我的索引和编辑页面创建了一个特定的视图模型。在模型中,有一个名为 int page {get;set;} 的属性作为我模型的一部分,我可以轻松找到该值。如果有人有更好的解决方案,谢谢分享。
标签: asp.net-mvc webgrid