public static IEnumerable<SelectListItem> GetSelectListItems(HtmlHelper html, ISelectListBuilder dropDownList, string expressionText) { string fullHtmlFieldName = html.ViewContext.ViewData.TemplateInfo.GetFullHtmlFieldName(expressionText); bool flag = false; IEnumerable<SelectListItem> selectList = dropDownList.SelectList(); bool allowMultiple = dropDownList.Attr("multiple") == "multiple"; if (selectList == null) { selectList = html.GetSelectListItemsFromViewData(expressionText); flag = true; } object defaultValue = allowMultiple ? html.GetModelStateValue(fullHtmlFieldName, typeof(string[])) : html.GetModelStateValue(fullHtmlFieldName, typeof(string)); if (!flag && defaultValue == null && !String.IsNullOrEmpty(expressionText)) { defaultValue = html.ViewData.Eval(expressionText); } if (defaultValue != null) { selectList = GetSelectListWithDefaultValue(selectList, defaultValue, allowMultiple); } return selectList; }
public static IEnumerable <SelectListItem> GetSelectListItems(HtmlHelper html, ISelectListBuilder dropDownList, string expressionText) { string fullHtmlFieldName = html.ViewContext.ViewData.TemplateInfo.GetFullHtmlFieldName(expressionText); bool flag = false; IEnumerable <SelectListItem> selectList = dropDownList.SelectList(); bool allowMultiple = dropDownList.Attr("multiple") == "multiple"; if (selectList == null) { selectList = html.GetSelectListItemsFromViewData(expressionText); flag = true; } object defaultValue = allowMultiple ? html.GetModelStateValue(fullHtmlFieldName, typeof(string[])) : html.GetModelStateValue(fullHtmlFieldName, typeof(string)); if (!flag && defaultValue == null && !String.IsNullOrEmpty(expressionText)) { defaultValue = html.ViewData.Eval(expressionText); } if (defaultValue != null) { selectList = GetSelectListWithDefaultValue(selectList, defaultValue, allowMultiple); } return(selectList); }