扩展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
相关资源:数据结构—成绩单生成器