2016-02-02 7 views
-2

В моем контроллере я создал атрибут viewbag с именем OptionList, в котором я создал одну строку с некоторыми параметрами для selectpicker, которые я хотел бы использовать в своем представлении.Использование viewbag в поле зрения

foreach(Uren_IssueType type in IssueType_List) 
{ 
    optionList = optionList + "<option>" + type.TypeNaam + "</option>"; 
} 
ViewBag.OptionList = optionList; 

Потому что это динамически созданный selectpicker (Это часть каждой строки в сетке, в которой могут быть добавлены и удалены dymanically строки) Я хочу, чтобы добавить эту optionlist в строку, в которой создается selectpicker.

<td width=\"125\"> 
    <select class=\"form-control\" id=\"selectpicker\" name='selectpicker'> 
     @ViewBag.OptionList 
    </select> 
</td> 

Но этот код действительно работает, только опция не отображается. Он показывает пустой раскрывающийся список. Может ли кто-нибудь помочь мне в создании этого списка selectpicker из строки viewbag?

+0

Почему вы используете сумку для просмотра? Почитайте об этом: https://www.jamietech.com/2015/10/14/mvc-view-models-or-viewdata/ –

+0

Почему вы не используете List of SelectListItem и сохраняете список в ViewBag. ??? Затем привяжите ViewBag к выпадающему списку. –

ответ

0

Оказывать Html из строки используйте Html.Raw.

@Html.Raw(@ViewBag.OptionList) 

Но, тем больше Asp.Net MVC способ сделать это было бы using DropdownList (или DropDownListFor), чтобы сделать что-то из модели, а не создания HTML в строке.

0

Вам необходимо выполнить итерацию предметов из мешковины. Что-то вроде:

<td width=\"125\"> 
    <select class=\"form-control\" id=\"selectpicker\" name='selectpicker'> 
    @foreach(var item in ViewBag.OptionList) 
    { 
     <option value="@item">@item</option> 
    }   
    </select> 
</td> 

И ViewBag должен быть создан как:

List<string> items=new List<string>(); 
foreach(Uren_IssueType type in IssueType_List) 
{ 
    items.Add(type.TypeNaam) 
} 
ViewBag.OptionList = items; 
+0

Я сделал это для оригинальной строки. Но я использую строку, чтобы динамически добавлять новые строки. И с использованием строки это не сработает, потому что, когда использование вида просмотра, подобного этому в представлении, дает мне синтаксическую ошибку. Но thnx за помощью –

Смежные вопросы