Я пытался изменить формат одного столбца в 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));
}
Может кто-нибудь сказать мне, в чем проблема, и как я могу решить ее?