【问题标题】:View doesn't see class and public static查看没有看到类和公共静态
【发布时间】:2015-08-16 05:54:01
【问题描述】:

这是我视图中的助手。 (我想在下拉列表中列出状态选择)。

@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;
    }
}

【问题讨论】:

  • 你的类的命名空间是什么?您需要在视图中包含名称空间
  • 要么在 SelectListItemHelper 前面加上它所在的命名空间,要么在视图中添加 using 语句
  • 唉,如果您将此作为答案,我会将其标记为已接受的答案。我刚刚添加了“Radius.Controllers”。到 SelectListItemHelper.GetStateList() 的前面,它起作用了。谢谢
  • 哈,我用谷歌搜索了这个问题,因为我又遇到了一些新问题。显示我有多疯狂(以及我对 StackOverflow 的依赖程度)。 3dd,如果您想让您的评论成为答案,我会接受。我猜阿拉不感兴趣。我实际上尝试将您的“使用”解决方案添加到顶部的视图中并且它有效!一定喜欢 StackOverflow。

标签: razor selectlist selectlistitem


【解决方案1】:

您的视图不知道仅存在于您的控制器中的代码。最简单的解决方法是在控制器中调用 get state list 并将 SelectListItem 列表传递给您的视图。如果您的视图现在绑定到 SomeModel,请创建一个带有两个字段 SomeModel MyModel 和 List States 的 ViewModel SomeViewModel,并绑定到您视图中的 Some View Model。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-19
    相关资源
    最近更新 更多