1. 扩展Grid让他生成的分页用submit提交
     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;
            }
        }
    }
  2. 扩展HtmlHelper让其的Html.Grid方法之一能实例化我们新扩展的类GridEx 
 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
        }

    }
}

相关文章:

  • 2022-12-23
  • 2021-12-11
  • 2022-01-01
  • 2021-05-28
  • 2022-12-23
  • 2021-12-17
  • 2022-12-23
猜你喜欢
  • 2021-10-25
  • 2022-12-23
  • 2021-06-21
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案