我試着去創建一個IList的下拉列表與語法如下:C#MVC HTML輔助+表情+刪除uglyness
@Html.DropDowntListFor(Model.VisitingAddresses, vistingAddress => vistingAddress.Id, vistingAddress => vistingAddress.Name)
這適用於下面的代碼:
public static IHtmlString DropDowntListFor
<TModel>(this HtmlHelper htmlHelper, IList<TModel> list, Expression<Func<TModel, string>> value, Expression<Func<TModel, string>> text)
{
var dropdownName = value.Parameters.First().Name;
var selectedListItem = new List<SelectListItem>();
var values = list.AsQueryable().Select(value).ToList();
var texts = list.AsQueryable().Select(text).ToList();
int i;
for (i = 0; i < values.Count; i++)
{
selectedListItem.Add(new SelectListItem
{
Value = values[i],
Text = texts[i]
});
}
return htmlHelper.DropDownList(dropdownName, selectedListItem);
}
但你可以看到上面的代碼(在htmlhelper中)真的很難看,有沒有人知道在html助手中更漂亮的方式(在代碼中)?
在此先感謝。
你爲什麼覺得這很醜? –
菲利普感謝您的回覆,你看過我的代碼嗎?我硬編碼下拉列表選擇第一個與LINQ然後名稱也列表.AsQueryable()然後一個選擇,for循環這一切應該不會討厭與一些漂亮的表達? – daanl
當Jon發佈他的答案時,我明白你的意思。我只是認爲你的代碼是可讀的,所以它不醜。也許它沒有優化,但並不難看。 –