【问题标题】:Lambda expression returning a HelperResult and MvcHtmlString返回 HelperResult 和 MvcHtmlString 的 Lambda 表达式
【发布时间】:2013-12-28 19:02:48
【问题描述】:

我正在创建一个菜单控件,我需要在其中指定 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) 是我自己的扩展方法。

如果我想写这样的东西来创建我的菜单项,那么签名应该是什么样子:@Html.Menu(page => @<li> @Html.ActionLink(page) </li>)

【问题讨论】:

    标签: c# lambda html-helper


    【解决方案1】:

    我想我的大脑有点僵硬之类的,但这是我选择的解决方案

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

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

    @Html.Menu(page => @<li>@Html.ActionLink(page)</li>)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-11
      • 1970-01-01
      • 2014-08-06
      • 2019-09-19
      • 1970-01-01
      • 2011-10-03
      相关资源
      最近更新 更多