【发布时间】:2010-09-20 21:17:05
【问题描述】:
我相信我需要使用一个使用 lambda 表达式的 html 辅助方法来完成此操作。
我正在考虑按照以下方式做一些事情:
public static MvcHtmlString GetCategoryBreadCrumbs<T>(
this HtmlHelper html,
IEnumerable<T> currentCat,
Func<T, T> parentProperty,
Func<T, string> itemContent)
{
var sb = new StringBuilder();
sb.AppendLine(itemContent(currentCat));
if (currentCat.parentProperty.Count() > 0)
sb.AppendLine(GetCategoryBreadCrumbs(html, currentCat.parentProperty, itemContent);
return MvcHtmlString.Create(sb.ToString());
}
然后我想这样称呼它:
<%: Html.GetCategoryBreadCrumbs(
Model, l => l.parentCategories,
l => l.catID,
l => l.catName)%>
显然,即使在伪代码级别上,我上面的内容也很糟糕。
Lamba/通用方法如何工作?
【问题讨论】:
标签: c# asp.net asp.net-mvc lambda