2013-03-01 7 views
0

sЧто такое происходит с этим кодом? Я просто пытаюсь практиковать пропускание списка на мой взгляд:MVC Viewbag список для просмотра

Контроллер:

public ActionResult About() 

    { 
     List<string> ListofColors = new List<string>(); 
     ViewBag.colors.Add("red"); 
     ViewBag.colors.Add("green"); 
     ViewBag.colors.Add("blue"); 

     ViewBag.ListColors = ListofColors; 
     return View(); 

Вид:

<ul id="colors"> 

@foreach (var colors in (List<string>) ViewBag.ListColors) { 
<li> 
    @colors 
</li> 
} 

</ul> 

Ошибки я получаю: CS0103: Имя 'цвета' делает не существует в текущем контексте

+1

Я не вижу, где вы добавляете 'colors' к @CAbbott ViewBag – CAbbott

+0

Я сделал это: ViewBag.colors.Add («красный»); ViewBag.colors.Add («зеленый»); ViewBag.colors.Add («синий»); – Batsu

+0

Невозможно выполнить привязку времени выполнения по нулевой ссылке – Batsu

ответ

2

Вы не передаете объект ListColors в свою сумку, в действие контроллера:

.... 
ViewBag.ListColors = ListofColors; 
return View(); 
.... 
+0

Спасибо за ответ, сейчас он работает - наконец! – Batsu

+0

хороший звонок. Я не заметил, что Список никогда не был заселен. –

+0

@ Бацу рад помочь - легко упустить эти вещи; как предложение, чтобы сделать вещи еще более упорядоченными, я предлагаю использовать модель представления, чтобы вы могли использовать безопасность типов и intellisense на ваш взгляд! –

1

В коде контроллера отсутствует линия.

ViewBag.ListColors = colors; 

Edit :: Код должен быть, как показано ниже в контроллере

public ActionResult About() 
{ 
    List<string> ListofColors = new List<string>(); 
    ListofColors.Add("red"); 
    ListofColors.Add("green"); 
    ListofColors.Add("blue"); 

    ViewBag.ListColors = ListofColors; 
    return View(); 
} 

Это позволит устранить проблему.

+0

Теперь сказано: Ссылка на объект не установлена ​​в экземпляр объекта. – Batsu

+0

@ Батсу, этот код должен работать. Интересно, что вы делаете. –

+0

@Batsu, измените свой код контроллера согласно моему правлению. –

1
List<string> ListofColors = new List<string>(); 
ListofColors.Add("red"); 
ListofColors.Add("green"); 
ListofColors.Add("blue"); 

ViewBag.ListColors = ListofColors; 

Добавить цвета в свой список и передать listofcolors в viewbag

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

  • Нет связанных вопросов^_^