2016-02-23 3 views
0

Я стараюсь передать ViewBag данные от моего контроллера на мой взгляд, если я поставил Viewbag на Html.DropDownList я получаю правильные значения, но если я использую <input value="@ViewBag.Group" /> я только получить Почему я Я не получаю значение моего viewbag?Помещенный ViewBag значение контроллера на View

Это мой контроллер ViewBag:

public ActionResult Index(string Selected) 
    { 
     List<string> listadesumas = new List<string>(); 
     var db = new PosContext(); 

     foreach (var item in db.Pos) 
     { 
      listadesumas.Add(item.ToString()); 

     } 
     var grupos = new SelectList(listadesumas.ToList()); 

     ViewBag.Group = grupos; 
return View("~/Views/HomePos/Index.cshtml",db.Pos.ToList()); 
    } 

и мой Input От Вид:

<input value="@ViewBag.Group" /> 

, что я делаю неправильно?

+1

[Почему вы используете viewbag вместо сильно набирать ваш взгляд, передавая модель] (HTTP://www.asp.net/mvc/overview/getting-started/introduction/accessing-your-models-data-from-a-controller)? В конце концов, M в MVC обозначает Model .. :) –

+0

Когда вы вызываете '@ ViewBag.Group', вы получаете значения переменной' grupos', стробированные с использованием '.ToString()' самой .Net. Рассмотрите возможность использования viewmodel с сильно типизированными свойствами, чтобы вы могли оценить, с какими объектами какие типы вы работаете, и какие операции вы можете делать. –

+0

У меня уже есть модель, переходящая на мой взгляд, я не могу слить ее или добавить в нее больше переменных, поэтому я передаю viewbag –

ответ

1
@{ 
    var group = (SelectList)ViewBag.Group 
} 

<select> @foreach(var item in group) { <option value='@item'>@item</option>
} </select>

+0

Мне нужен ввод или ярлыки не выпадающий список im, не имеющий проблем с выпадающим списком, поэтому я обновил ваш код, но im не получал результатов @foreach (элемент в группе) { } –

+0

Каков тип ввода? http://www.w3schools.com/tags/tag_input.asp – ManojAnavatti

+0

он должен получить строку, im передающую выбранный список, но у нее есть только одна информация –

0

Viewbag.Group содержит список значений. Входной тег может принимать только одно значение.

+0

тег ведьмы должен быть лучше? Мне нужно это, как лейбл или марка, независимо от того, нужно ли мне делать foreach, но я не хочу выпадающего списка –

+0

Что вы ищете, если не хотите выпадающего списка? – RiceRiceBaby

0

я смог получить другую ПОДХОД помощью boxlist, Херес-код в случае, если кто нуждается в этом:

@Html.ListBox("Group", (IEnumerable<SelectListItem>)ViewBag.Group) 
+0

Даже это будет отображаться как тег 'select' – ManojAnavatti

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