0

我正在尝试使用 NancyFX 为 HtmlHelpers<T> 创建一个扩展方法。

代码是这样的

  public static IHtmlString DropdownList<T>(HtmlHelpers<T> htmlHelper, string elementId,     string elementName, IEnumerable<DropdownListItem> dropdownListItems)
  {
    var builder = new StringBuilder();
    if (dropdownListItems != null && dropdownListItems.ToList().Any())
    {
        dropdownListItems.ToList().ForEach(t => builder.AppendFormat(@"<option value=""{0}"" {1}>{2}</option>", t.Value, t.Selected ? "selected" : string.Empty, t.Text));
    }

    var htmlMarkup = string.Format(@"<select id=""{0}"" name=""{1}"">{2}</select>", elementId, elementName, builder);
    return new NonEncodedHtmlString(htmlMarkup);
  }

在 cshtml 视图中无法识别此方法。我已经尝试过使用命名空间和没有命名空间。使用命名空间时,我已在 web.config 的 razor 部分注册它。

我正在使用的 NancyFX 版本:0.16.1.0

任何关于如何在 NancyFX 中使用带有剃刀视图的扩展方法的工作示例将不胜感激。

4

1 回答 1

3

哦蒙了!菜鸟错误。扩展方法有一个小错误。第一个参数缺少关键字this

于 2013-03-21T20:39:49.747 回答