WebGrid构造函数参数错误

时间:2014-05-18 17:21:49

标签: asp.net-mvc webgrid

我无法理解为什么我的构造函数行有错误。 我尝试创建一个包含WebGrid和Custom过滤器集的类 这是代码

    public class FilterableWebGrid<T> : System.Web.Helpers.WebGrid
    {
        public System.Web.Helpers.WebGrid Grid { get; set; }
        public IEnumerable<AbstractSearch> Filters { get; set; }
        private IEnumerable<T> m_GridData;

        public FilterableWebGrid(T Model)
        {
            Grid = new System.Web.Helpers.WebGrid(source: m_GridData);
        }

    }

并在此行Grid = new System.Web.Helpers.WebGrid(source: m_GridData); 我收到一个错误:

  

最佳重载方法匹配   “System.Web.Helpers.WebGrid.WebGrid(System.Collections.Generic.IEnumerable,   System.Collections.Generic.IEnumerable,string,int,bool,   bool,string,string,string,string,string,string,string)'has   一些无效的论点

我将IEnumerable传递给WebGrid的构造函数,为什么我会收到此错误?其他属性有默认值...

任何帮助将不胜感激..

编辑1: 所以经过多次挖掘后发现了这个特定的错误:

  

无法从'System.Collections.Generic.IEnumerable'转换为   “System.Collections.Generic.IEnumerable

我在传递所有参数后获得:

 Grid = new System.Web.Helpers.WebGrid(
            source: m_GridData,
            columnNames: null,
            defaultSort: null,
            rowsPerPage: 10,
            canPage: true,
            canSort: true,
            ajaxUpdateContainerId: null,
            ajaxUpdateCallback: null,
            fieldNamePrefix: null,
            pageFieldName: null,
            selectionFieldName: null,
            sortFieldName: null,
            sortDirectionFieldName: null);

,错误是针对行source: m_GridData

现在为什么IEnumerable<T>无法转换为IEnumerable<dynamic>

1 个答案:

答案 0 :(得分:0)

WebGrid将需要IEnumerable用于模型

@model IEnumerable&lt; .....&gt;