我认为,我需要使用一种利用玛尔布达语来实现这一目标的“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/Genericmeth如何工作?