NancyFX,HtmlHelpers的扩展方法<;T>;在Razor视图中无法识别

NancyFX,HtmlHelpers的扩展方法<;T>;在Razor视图中无法识别,razor,nancy,Razor,Nancy,我正在尝试使用NancyFX为HtmlHelpers创建一个扩展方法 代码是这样的 public static IHtmlString DropdownList<T>(HtmlHelpers<T> htmlHelper, string elementId, string elementName, IEnumerable<DropdownListItem> dropdownListItems) { var builder = new St

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

代码是这样的

  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);
  }
公共静态IHtmlString DropdownList(HtmlHelpers-htmlHelper、string-elementId、string-elementName、IEnumerable-dropdownListItems)
{
var builder=新的StringBuilder();
if(dropdownListItems!=null&&dropdownListItems.ToList().Any())
{
ForEach(t=>builder.AppendFormat(@“{2}”,t.Value,t.Selected?“Selected”:string.Empty,t.Text));
}
var htmlMarkup=string.Format(@“{2}”,elementId,elementName,builder);
返回新的非编码HtmlString(htmlMarkup);
}
在cshtml视图中无法识别此方法。我尝试过使用名称空间和不使用名称空间。 使用名称空间时,我已经在web.config的razor部分注册了它

我正在使用的NancyFX版本:0.16.1.0


任何关于如何在NancyFX中使用razor视图的扩展方法的工作示例都将非常受欢迎。

哦,太麻烦了!新手失误。扩展方法中有一个小错误。错过了第一个参数的关键字这个

哦,把它弄糊涂了!新手失误。扩展方法中有一个小错误。缺少关键字这是第一个参数的