我正在尝试在MVC中向网格添加列,现在Column方法的第一个参数为文本采用字符串。所以我试图使用lambda函数从绑定对象中检索一个字符串,这是我到目前为止所做的,但编译器返回一个委托'Func'不带0参数
g.AddActionColumn(((Func<User, string>)((x)=> {return x.CurrentApplication.Name;}))())
网格绑定到IEnumerable<User>
,而CurrentApplication
是一个名为Application
的类。
AddActionColumn
的签名是:
public TbbGrid<TModel, TId> AddActionColumn(string linkText,
string action = null, string controller = null, string area = null,
bool usePreviousUrl = false, bool isVisible = true,
Func<TModel, bool> condition = null, string cellCssClasses = null,
string linkCssClasses = null, string headerCssClasses = null,
string headerText = null, string emptyText = null,
string propertyName = null, bool isSortable = false,
string previousUrlOverride = null)
答案 0 :(得分:1)
它不起作用的原因是因为AddActionColumn
没有将Func<>
作为其第一个参数,它需要string
。
你不能只传入一些在调用时返回字符串的东西,因为这个API不是那样设计的。