我已經做了一個開始,並設法得到一個非常粗糙/早期版本,至少工作。它不會處理所有進出的問題,但我會一直努力。
到目前爲止,我所做的所有工作都圍繞着一個div的下拉菜單,它有助於增加樣式。它並不滿足命名它,或添加HTML屬性等
對於任何人試圖做同樣的,我迄今下面,您可以修改自己的需要:
/// <summary>
/// Extension method for displaying a custom dropdownlist
/// </summary>
public static MvcHtmlString CustomDropDownListFor<TModel, TValue>(this HtmlHelper<TModel> html, Expression<Func<TModel, TValue>> expression, IEnumerable<SelectListItem> selectList, IDictionary<String, Object> htmlAttributes)
{
StringBuilder ItemsStringBuilder = new StringBuilder();
foreach (SelectListItem SingleListItem in selectList)
{
ItemsStringBuilder.AppendLine(DropDownExtensions.ListItemToOption(SingleListItem));
}
TagBuilder SelectTagBuilder = new TagBuilder("select")
{
InnerHtml = ItemsStringBuilder.ToString()
};
TagBuilder OuterTag = new TagBuilder("div")
{
InnerHtml = SelectTagBuilder.ToString()
};
OuterTag.Attributes.Add("class", "styled-select");
return MvcHtmlString.Create(OuterTag.ToString(TagRenderMode.Normal));
}