예제 #1
0
        public static string DropDownList(this HtmlHelper helper, String name, String defaultOptionText, Dictionary<string, object> htmlAttributes, Ekomsys.Common.Enums.Enumurations.DropdownType dropdownType, string selectedValue = "-1", string code = "", String optionName = "")
        {
            StringBuilder drpSecurityQuestion = new StringBuilder();
            var builder = new TagBuilder("select");
            //Setting the additional attributes of dropdown like Id, Class, etc.
            if (htmlAttributes != null)
                builder.MergeAttributes(new RouteValueDictionary(htmlAttributes));
            //Name of dropdown.
            builder.MergeAttribute("id", name);
            if (!string.IsNullOrEmpty(optionName))
                builder.MergeAttribute("name", optionName);
            else
                builder.MergeAttribute("name", name);
            StringBuilder selectOptions = new StringBuilder();
            //Default item of Dropdown. The value and text for the default item is set from parameters

            if (!string.IsNullOrEmpty(defaultOptionText))
                selectOptions.AppendFormat("<option value='{0}' {1}>{2}</option>", "", "selected", defaultOptionText);

            switch (dropdownType)
            {

                case Ekomsys.Common.Enums.Enumurations.DropdownType.UserType:

                    //Business.Classes.CountryBAL obj = new CountryBAL();
                    UserTypeBAL obj = new UserTypeBAL();
                    //IList<CountryLanguageVariant> countryList = obj.GetAllCountries(SessionVariables.LanguageId.Value);
                    IList<tb_UserType> userTypeDBList = obj.GetAllUserType();

                    AutoMapper.Mapper.CreateMap<tb_UserType, UserTypeModel>();
                    IList<UserTypeModel> userTypeList=new List<UserTypeModel>();
                    userTypeList = AutoMapper.Mapper.Map(userTypeDBList, userTypeList);

                    foreach (var option in userTypeList)
                    {
                        selectOptions.AppendFormat("<option");
                        if (selectedValue == option.UserType_Id.ToString())
                            selectOptions.AppendFormat(" selected='selected' ");

                        else
                            selectOptions.AppendFormat(" NonEligible='false' ");
                        selectOptions.AppendFormat(" value='" + option.UserType_Id + "'>");
                        selectOptions.AppendFormat(option.Name);
                        selectOptions.AppendFormat("</option>");
                    }
                    break;

            }
            //Setting the entire <option> to <select>
            builder.InnerHtml = selectOptions.ToString();
            return builder.ToString(TagRenderMode.Normal);
        }