2012-04-04 20 views
0

在我的控制器中我使用了以下內容:是否有與HTML.DropDownList等效的在MVC3中創建無序列表?

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擴展,能爲我做到這一點,還是有一個簡單的方法,我可以編寫代碼的東西嗎?

+1

爲什麼不只是一個@的for-each? – McGarnagle 2012-04-04 06:08:42

回答

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()); 

而且你能適應的代碼爲您的需求(如添加額外的標籤,屬性等)

+0

這似乎是一個好主意,但我不確定如何編寫擴展。你能告訴我在哪裏可以找到@ Html.DropDownList的代碼,所以也許我可以把它作爲一個起點。謝謝 – 2012-04-04 06:29:03

+0

來源可以在這裏找到:http://aspnet.codeplex.com/ – 2012-04-04 06:38:08

相關問題