HtmlHelper Grid 扩展分页为submit 保存查询条件值

it2022-05-09  22

扩展Grid让他生成的分页用submit提交 Code using System;using System.Collections.Generic;using System.Linq;using System.Web;using MvcContrib.UI.Html.Grid;using System.Collections;using System.IO;using System.Web.Mvc;namespace HZMCRM.Extension {     public class GridEx<T> : Grid<T> where T : class     {         public GridEx(IEnumerable<T> items, GridColumnBuilder<T> columns, IDictionary htmlAttributes, TextWriter writer, HttpContextBase context)             : base(items, columns, htmlAttributes, writer, context)         {         }         public GridEx(string viewDataKey, ViewContext viewContext, GridColumnBuilder<T> columns, IDictionary htmlAttributes, TextWriter writer)             : this(MvcContrib.UI.Html.Grid.Grid<T>.GetDataSourceFromViewData(viewDataKey, viewContext), columns, htmlAttributes, writer, viewContext.HttpContext)         {         }         protected override string CreatePageLink(int pageNumber, string text)         {             string str = this.CreateQueryString(this.Context.Request.QueryString);             string filePath = this.Context.Request.FilePath;             //return string.Format("<a href=\"{0}?{1}={2}{3}\">{4}</a>", new object[] { filePath, pageQueryName(), pageNumber, str, text });            return string.Format("<a href=\"javascript:window.form1.action='{0}?{1}={2}{3}';window.form1.submit();\">{4}</a>"new object[] { filePath, pageQueryName(), pageNumber, str, text });         }         private string pageQueryName()         {             string _pageQueryName = "page";             if (this.HtmlAttributes.Contains("page"))             {                 _pageQueryName = this.HtmlAttributes["page"as string;                 this.HtmlAttributes.Remove("page");             }             return _pageQueryName;         }     } } 扩展HtmlHelper让其的Html.Grid方法之一能实例化我们新扩展的类GridEx  Code using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mvc;using MvcContrib.UI.Html.Grid;using System.Collections;namespace HZMCRM.Extension {     public static class GridExEx     {         public static void Grid<T>(this HtmlHelper helper, string viewDataKey, Action<IRootGridColumnBuilder<T>> columns, MyExtention postPageLink) where T : class         {             new GridEx<T>(viewDataKey, helper.ViewContext, CreateColumnBuilder<T>(columns,null), null, helper.ViewContext.HttpContext.Response.Output).Render();         }          private static GridColumnBuilder<T> CreateColumnBuilder<T>(Action<IRootGridColumnBuilder<T>> columns, Action<IGridSections<T>> sections) where T : class         {             GridColumnBuilder<T> builder = new GridColumnBuilder<T>();             if (columns != null)             {                 columns(builder);             }             if (sections != null)             {                 sections(builder);             }             return builder;         }         public enum MyExtention         {             PageLink         }     } }

转载于:https://www.cnblogs.com/nanshouyong326/archive/2009/02/06/1385218.html

相关资源:数据结构—成绩单生成器

最新回复(0)