Lambda表达式返回HelperResult和MvcHtmlString

时间:2013-12-28 19:02:49

标签: c# lambda html-helper

我正在创建一个菜单控件,我需要指定Html元素并在此Html中使用Html.ActionLink(...

我想要创建的标记应如下所示<li><a href="/some-link"></a>Some name</li>

我的菜单控件今天具有以下签名(this Htmlhelper html, Func<IPage, MvcHtmlString> content),我正在使用此@Html.Menu(page => Html.ActionLink(page)这样的菜单控件,其中Html.ActionLink(IPage)是我自己的扩展方法。

那么如果我想写这样的东西来创建我的菜单项,那么签名应该怎么样?{/ 1}}

1 个答案:

答案 0 :(得分:1)

我认为我有一些大脑冻结或某种东西,但这是我选择的解决方案

public static MvcHtmlString Menu(this HtmlHelper html, Func<IPage, Func<object, HelperResult>> itemContent) {}

我这就是我在项目中使用它的方式

@Html.Menu(page => @<li>@Html.ActionLink(page)</li>)
相关问题