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));
}
ここでの問題とは何か、どうすれば解決できるか教えてもらえますか?