0

在我的控制器中,我使用以下内容:

ViewBag.ReferenceId = new SelectList(_reference.Get("00")
   .AsEnumerable()
   .OrderBy(o => o.Order), "RowKey", "Value", "00");

然后在我看来,我使用以下扩展来创建一个下拉列表:

@Html.DropDownList("ReferenceID", 
   null, 
   new { 
     id = "ReferenceID", 
     @class = "combobox2", 
     style="width: 150px;"
   }
)

现在我想改变它来创建一个无序列表。类似于以下内容:

<ul id="categories" class="pane list">
   <li><a href="#">Websites</a></li>
   <li><a href="#">Web Design</a></li>
   <li><a href="#">Print</a></li>
</ul>

是否有任何 MVC 扩展可以为我执行此操作,或者是否有一种简单的方法可以编写代码?

4

2 回答 2

1

没有等价物,尽管您可以像这样自己编写它:

tagsList = "<ul>{0}</ul>";
tagsListItem = "<li>{0}</li>";
StringBuilder result = new StringBuilder();
list.ForEach(listItem => result.AppendFormat(tagsListItem, item.ToString()));
return string.Format(tagsList, result.ToString());

你可以根据你的需要来调整代码(比如添加额外的标签、属性等)

于 2012-04-04T06:20:53.587 回答
1

编写您的 HtmlHelper http://www.asp.net/mvc/tutorials/older-versions/views/creating-custom-html-helpers-cs但最好的方法是浏览 MVC 源代码并学习http://aspnet。 codeplex.com/SourceControl/changeset/view/72551#288014或使用 foreach。

<ul id="categories" class="pane list">
@foreach(var category in categories)
{
  <li><a href="#">@category</a></li>
}

</ul>

问候

于 2012-04-04T06:36:52.443 回答