2015-08-16 82 views
1

这是我的视图中的助手。 (我想在下拉列表中列出状态选择)。查看并没有看到类和公共静态

@Html.DropDownListFor(model => model.State, SelectListItemHelper.GetStateList()) 

我得到这个错误: CS0103:名称“SelectListItemHelper”不会在目前情况下

存在我把这个类中我有我所有的创建,编辑,删除唯一控制器行动结果。我在下面做了另一个公开课。使用该链接指向我的状态信息:How To Create Select List

public class SelectListItemHelper 
{ 
    public static IEnumerable<SelectListItem> GetStateList() 
    { 
     IList<SelectListItem> items = new List<SelectListItem> 
     { 
      new SelectListItem() {Text="Alabama", Value="AL"}, 
      new SelectListItem() { Text="Alaska", Value="AK"}, 
      new SelectListItem() { Text="Arizona", Value="AZ"}, 
      new SelectListItem() { Text="Arkansas", Value="AR"}, 
      new SelectListItem() { Text="California", Value="CA"}, 
      new SelectListItem() { Text="Colorado", Value="CO"}, 
      new SelectListItem() { Text="Connecticut", Value="CT"}, 
      new SelectListItem() { Text="District of Columbia", Value="DC"}, 
      new SelectListItem() { Text="Delaware", Value="DE"}, 
      new SelectListItem() { Text="Florida", Value="FL"}, 
      new SelectListItem() { Text="Georgia", Value="GA"}, 
      new SelectListItem() { Text="Hawaii", Value="HI"}, 
      new SelectListItem() { Text="Idaho", Value="ID"}, 
      new SelectListItem() { Text="Illinois", Value="IL"}, 
      new SelectListItem() { Text="Indiana", Value="IN"}, 
      new SelectListItem() { Text="Iowa", Value="IA"}, 
      new SelectListItem() { Text="Kansas", Value="KS"}, 
      new SelectListItem() { Text="Kentucky", Value="KY"}, 
      new SelectListItem() { Text="Louisiana", Value="LA"}, 
      new SelectListItem() { Text="Maine", Value="ME"}, 
      new SelectListItem() { Text="Maryland", Value="MD"}, 
      new SelectListItem() { Text="Massachusetts", Value="MA"}, 
      new SelectListItem() { Text="Michigan", Value="MI"}, 
      new SelectListItem() { Text="Minnesota", Value="MN"}, 
      new SelectListItem() { Text="Mississippi", Value="MS"}, 
      new SelectListItem() { Text="Missouri", Value="MO"}, 
      new SelectListItem() { Text="Montana", Value="MT"}, 
      new SelectListItem() { Text="Nebraska", Value="NE"}, 
      new SelectListItem() { Text="Nevada", Value="NV"}, 
      new SelectListItem() { Text="New Hampshire", Value="NH"}, 
      new SelectListItem() { Text="New Jersey", Value="NJ"}, 
      new SelectListItem() { Text="New Mexico", Value="NM"}, 
      new SelectListItem() { Text="New York", Value="NY"}, 
      new SelectListItem() { Text="North Carolina", Value="NC"}, 
      new SelectListItem() { Text="North Dakota", Value="ND"}, 
      new SelectListItem() { Text="Ohio", Value="OH"}, 
      new SelectListItem() { Text="Oklahoma", Value="OK"}, 
      new SelectListItem() { Text="Oregon", Value="OR"}, 
      new SelectListItem() { Text="Pennsylvania", Value="PA"}, 
      new SelectListItem() { Text="Rhode Island", Value="RI"}, 
      new SelectListItem() { Text="South Carolina", Value="SC"}, 
      new SelectListItem() { Text="South Dakota", Value="SD"}, 
      new SelectListItem() { Text="Tennessee", Value="TN"}, 
      new SelectListItem() { Text="Texas", Value="TX"}, 
      new SelectListItem() { Text="Utah", Value="UT"}, 
      new SelectListItem() { Text="Vermont", Value="VT"}, 
      new SelectListItem() { Text="Virginia", Value="VA"}, 
      new SelectListItem() { Text="Washington", Value="WA"}, 
      new SelectListItem() { Text="West Virginia", Value="WV"}, 
      new SelectListItem() { Text="Wisconsin", Value="WI"}, 
      new SelectListItem() { Text="Wyoming", Value="WY"} 
     }; 
     return items; 
    } 
} 
+0

你的班的名字空间是什么?您需要在您的视图中包含名称空间 – Ala

+2

要么使用其名称空间前缀“SelectListItemHelper”,要么在视图 – 3dd

+0

Ala中添加'using'语句,如果您将此答案作为答案,我会将其标记为接受的答案。我刚添加“Radius.Controllers”。到SelectListItemHelper.GetStateList()的前面,它工作。谢谢 – JustJohn

回答

0

你的观点不知道是只存在于你的控制器代码。最简单的修复方法是在您的控制器中调用获取状态列表,并将SelectListItem列表传递给您的视图。如果您的视图现在绑定到SomeModel,则使用两个字段(SomeModel MyModel和List States)创建ViewModel SomeViewModel,并将其绑定到视图中的某些视图模型。