c# MVC -在删除项目时保持Webgrid中的排序方向、列和分页
本文关键字:方向 排序 分页 Webgrid MVC 删除项目 | 更新日期: 2023-09-27 18:11:34
对于列名,页面和排序目录使用路由值是否是一种好方法,或者是否有更好的方法来保持webgrid设置存活?
当前是这样的:
@Html.ActionLink("Delete", "DeleteEntry", new { id = item.Id, sortdir, sort = webgrid.SortColumn }, new { @class = "LoeschenImgStyle", onclick = "return confirm('You're sure?');" })
我的控制器方法是这样的
public ActionResult DeleteEntry(Guid id, string sortdir, string sort)
{
_einheitenRepository.DeleteIt(id);
return RedirectToAction("Index", new { sortdir, sort });
}
是否有更好的选择来做同样的事情?
谢谢:)
您已经拥有的并没有什么真正的问题,但是您可以通过使用Model来代替这些参数来稍微清理它。首先可以有一个包含分页信息的基本模型,如:
public abstract class ModelBase
{
public string SortDir { get; set; }
public string Sort { get; set; }
}
那么对于这个实例(假设它是一个项目),你可以有这样的模型:
public class ItemModel : ModelBase
{
public int Id { get; set; }
//rest of the properties in your ItemModel
}
那么你的ActionResult
将看起来更干净,像这样:
public ActionResult DeleteEntry(ItemModel model)
您的ActionLink
可以填充该模型,通过以下操作:
Html.ActionLink("Delete", "DeleteEntry", new { Id = item.Id, SortDir, Sort = webgrid.SortColumn }, new { @class = "LoeschenImgStyle", onclick = "return confirm('You're sure?');" })
那么,您每次都会得到一个自动填充的模型实例,从而避免在操作方法中添加过长的参数列表。