2013-12-17 3 views
0

У меня есть список, что у меня есть на моем взгляде, но этот список повторно используются на множество видов и доле списка ту же информацию по всему видуmvc3 как вернуть список из контроллера

// MyView.cshtml 
@Html.DropDownListFor(model => model.type, new SelectList(new List<Object>{ 
       new { Text = "Automotive", Value = "Automotive"}, 
new { Text ="Business", Value= "Business"}}}, "Value", "Text")) 

Это dropdownlist в виду, проблема в том, что список иногда меняется, поэтому я решил создать список в контроллере таким образом, если мне нужно что-то изменить, я могу сделать это в 1 месте, и он меняет все, так или иначе, мне было интересно, как я могу контроллер, используя другой actionResult, сделать список в MyView.cshtml

public ActionResult articleList() 
    { 
     var mylist = new List<articledrop> 
     { 
      new articledrop{ Text = "Automotive", Value = "Automotive"}, 
      new articledrop{ Text ="Business", Value= "Business"} 

     }; 
     return View(mylist); 
    } 

, как вы можете видеть, я создал список в представлении articleList.cshtml теперь, как я могу сделать этот список будет показан на MyView.cshtml с помощью DropDownList .. любые предложения было бы здорово

ответ

0

вы можете просто добавить статический класс, который содержит список, что-то вроде этого:

public static class UtilLists 
{ 
    public static List<articledrop> mylist = new List<articledrop> 
    { 
     new articledrop{ Text = "Automotive", Value = "Automotive"}, 
     new articledrop{ Text ="Business", Value= "Business"} 
    }; 
} 

И в View вы просто назвать это так:

@Html.DropDownListFor(model => model.type, 
         MvcApplication1.UtilLists.mylist.Select(option => new SelectListItem { 
           Text = option.Text, 
           Value = option.Value}), 
        "Choose..") 

Сообщите мне;)

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