asp.net-mvc-3 – ASP.NET MVC3:WebGrid Ajax过滤器Ajax排序和
发布时间:2020-12-16 06:24:07 所属栏目:asp.Net 来源:网络整理
导读:基本上,我正在使用WebGrid,我需要过滤结果.我在这里遇到的第一个问题是我第一次使用WebGrid而且我希望你们中的一些人能够帮助我…到目前为止,我已经设法对网格结果进行排序并使用Ajax过滤它们,但是,当重新排序过滤后的结果,子集丢失了,我回到完整的结果集.我
基本上,我正在使用WebGrid,我需要过滤结果.我在这里遇到的第一个问题是我第一次使用WebGrid而且我希望你们中的一些人能够帮助我…到目前为止,我已经设法对网格结果进行排序并使用Ajax过滤它们,但是,当重新排序过滤后的结果,子集丢失了,我回到完整的结果集.我知道为什么会发生这种情况,但我不知道如何让它发挥作用.
例: 在我看来: @model IQueryable<Cities> @section MoreScripts { <script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script> } @using (Ajax.BeginForm(new AjaxOptions { InsertionMode = InsertionMode.Replace,UpdateTargetId = "GridData"})) { <fieldset> <legend>Search Filters</legend> <br /> <div> Name </div> <div> @Html.TextBox("Name") </div> <p> <input type="submit" value="Search" /> </p> </fieldset> } <div id="GridData"> @Html.Partial("Grid",Model) </div> 我的部分观点: @model IQueryable<Cities> @{ var grid = new WebGrid<Cities>(null,rowsPerPage: 5,defaultSort: "Nombre",ajaxUpdateContainerId: "GridData"); grid.Bind(Model,autoSortAndPage: true,rowCount: Model.Count()); @grid.GetHtml(columns: grid.Columns( grid.Column("Name","Name",canSort: true),grid.Column("CreationDate","Creation Date",grid.Column("Active","Active",canSort: true,format: @<text><input type="checkbox" disabled="disabled" value="@item.ID" @(item.Active == true ? "Checked" : null) /></text>),grid.Column(format: (item) => Html.ActionLink("Edit","Edit",new { id = item.Id },new { @class = "editLink smallCell",@title = "Edit" })),grid.Column(format: (item) => Html.ActionLink("Delete","Delete",new { @class = "deleteLink smallCell",@title = "Delete" }))),tableStyle: "webgrid",headerStyle: "webgrid-header",footerStyle: "webgrid-footer",alternatingRowStyle: "webgrid-alternating-row",selectedRowStyle: "webgrid-selected-row",rowStyle: "webgrid-row-style"); } 最后在我的控制器上出现了错误的地方: public ActionResult Index() { return View(repository.GetAllRecords().OrderByDescending(f => f.CreationDate)); } [HttpPost] public ActionResult Index(string name) { var data = repository.GetAllRecords(); if(!string.IsNullOrEmpty(name)) data = data.Where(a => a.Name.Contains(name)); data = data.OrderByDescending(f => f.CreationDate); return PartialView("Grid",data); } 我也在使用WebGrid类:WebGrid,如下所示: 因此,这实际上适用于过滤,但是一旦获得过滤结果然后尝试更改缩小搜索结果的排序顺序,就会丢失元素和’name’参数的值,因为WebGrid再次执行第一个控制器操作.可能这不是最好的方法,但正如我所说,我从未使用过WebGrid,所以我愿意学习.任何帮助将非常感激.谢谢. 解决方法
尝试将FormMethod.Post添加到您的表单,因此请求将转到第二个ActionResult.否则,请求是GET,并且在没有参数的情况下转到第一个ActionResult Index().
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net省市三级联动的DropDownList+Ajax的三种框架(aspnet
- asp.net – 从ascx中查找对aspx的控制
- asp.net-mvc – 将ViewData传递给RenderPartial
- asp.net – SQLDataReader:处理空值
- asp.net – page load()或者page init()
- asp.net-mvc – ASP.NET MVC 3简单可靠的移动设备检测:使用
- ASP.NET MVC5 Bootstrap CSS乱搞导航?
- Visual Studio 2017下ASP.NET CORE的TagHelper智能提示解决
- asp.net-mvc – ASP.NET MVC框架中的MVVM和ModelBinders
- C#正则表达式_简单梳理_Emoji表情字符处理
推荐文章
站长推荐
- asp.net-mvc-3 – 命名空间’Sitecore’中不存在
- asp.net-mvc-3 – 将整个页面从MVC3 Razor iFram
- asp.net-mvc-4 – MVC4的DotNetOpenAuth Twitter
- asp.net – 事件日志应用程序错误,故障地址有意义
- asp.net-mvc-3 – MVC脚手架问题
- asp.net – System.Web.Security.AntiXss.AntiXs
- context.Request.Files超过了最大请求长度
- asp.net – repeater或listview vs concatenated
- asp.net – 重写规则错误:HTTP错误500.50 – UR
- asp.net-mvc-3 – MVC3强制验证隐藏字段
热点阅读