2013-11-28 6 views
1

Я работаю на ASP.NET MVC веб-приложений, и на моей странице поиска заранее я хочу иметь три html.dropdownlist, которые содержат статические значения: -Html.dropdownlist со статическим контентом

  1. Точное совпадение

  2. Start с

и мне нужно DropDownLists быть рядом с любым из поля поиска.

так может любой совет, как я могу создать такой статический html.dropdownlist, так как все текущие dropdownlists, которые у меня есть, заполнены динамическими данными из моей модели?

Благодаря

+0

Смотрите тот же вопрос был дан ответ здесь http://stackoverflow.com/questions/5576257/bind-html -dropdownlist-with-static-items –

+0

Не тот же ответ, хотя см. мой метод расширения. :) @ VishalPandey Я тоже добавил свой ответ. – hutchonoid

ответ

11

Ваш первый вариант, чтобы включить HTML в пределах вашей точки зрения:

<select id="selection"> 
    <option>Exact match</option> 
    <option>Starts with</option> 
</select> 

Второй вариант заключается в использовании жестко встроенный в HTML хелпер :

@Html.DropDownList("selection", new List<SelectListItem>() {new SelectListItem { Text="Exact match", Value = "Match"}, new SelectListItem { Text="Starts With", Value = "Starts"}}) 

t Hird вариант, который я бы предпочел, если он используется много на вашем сайте, чтобы создать расширение HTML помощника, и вы можете просто использовать его как это:

@Html.SearchSelectionList() 

Вот код для этого:

public static MvcHtmlString SearchSelectionList(this HtmlHelper htmlHelper) 
{ 
    return htmlHelper.DropDownList("selection", new List<SelectListItem>() { new SelectListItem { Text = "Exact match", Value = "Match" }, new SelectListItem { Text = "Starts With", Value = "Starts" } }); 
} 
4

Зачем вам нужен HTML-помощник При использовании только статические данные?

<select id="myDropDownList" name="myDropDownList"> 
    <option value="volvo">Volvo</option> 
    <option value="saab">Saab</option> 
    <option value="mercedes">Mercedes</option> 
    <option value="audi">Audi</option> 
</select> 

Или это возможно:

@{ 
var list = new SelectList(new [] 
    { 
     new {ID="1", Name="volvo"}, 
     new {ID="2", Name="saab"}, 
     new {ID="3", Name="mercedes"}, 
     new {ID="4", Name="audi"}, 
    }, 
    "ID", "Name", 1); 
} 
@Html.DropDownList("list", list) 
1

вы можете передать этот Bind Dropdownlist In Mvc4 Razor

Давайте попробуем так же

public static class DDLHelper 
{ 
    public static IList<SelectListItem> GetGender() 
    { 
     IList<SelectListItem> _result = new List<SelectListItem>(); 
     _result.Add(new SelectListItem { Value = "2", Text = "Male" }); 
     _result.Add(new SelectListItem { Value = "1", Text = "Female" }); 
     return _result; 
    } 
} 

Позовите статический класс в контроллере

public ActionResult Index() 
{ 

    ViewBag.Gender = new SelectList(DDLHelper.GetGender(), "Value", "Text"); 
    return View(); 
} 

В прошлом в настоящее время вызова ViewBag ввиду

@Html.DropDownList("gender", new SelectList(ViewBag.Gender, "Value", "Text"), "--Select--") 
Смежные вопросы