我一直在尝试更改 WebGrid 中单个列的格式,但没有取得多大成功。说的专栏是这样的:
grid.Column(
columnName: "EmailAddress",
header: "Email Address",
format:(item) => Html.EmailLink(item.EmailAddress, item.EmailAddress, ""),
canSort: false
),
错误是:
'System.Web.Helpers.WebGrid.Column(string, string, System.Func, string, bool)' 的最佳重载方法匹配有一些无效参数
我很困惑,因为方法签名匹配。此外,如果我将列更改为以下内容,则它可以正常工作:
grid.Column(
columnName: "EmailAddress",
header: "Email Address",
format:(item) => new HtmlString(String.Format("<a href=\"mailto:{0}\" class=\"{2}\">{1}</a>", item.EmailAddress, item.EmailAddress, "")),
canSort: false
),
供参考,EmailLink
是一个很基础的HtmlHelper
扩展方法:
public static IHtmlString EmailLink(this HtmlHelper helper, string emailAddress, string linkText, string linkClass) {
return new HtmlString(String.Format("<a href=\"mailto:{0}\" class=\"{2}\">{1}</a>", emailAddress, linkText, linkClass));
}
谁能告诉我这里的问题是什么,以及我该如何解决?