尝试实现ListBoxFor时CS1973错误

时间:2013-06-19 16:23:22

标签: c# .net asp.net-mvc compiler-errors html.listboxfor

我正在尝试在.NET中实现一个非常简单的多选,其中下拉值是动态创建的。

守则:

我创建了一个视图模型:

public class FiltersViewModel
{
    public int[] SelectedNatures { get; set; }
    public IEnumerable<SelectListItem> Natures { get; set; }

    public void FillNatures()
    {
        var repository = new LeadRepository();
        IEnumerable<string> natures = repository.GetNatures();

        var items = new List<SelectListItem> {};
        foreach (var nature in natures)
        {

            items.Add(new SelectListItem {Value = (string) nature, Text = (string) nature});
            Natures = items.ToArray();

        }
    }
}

我在控制器中创建了一个模型实例:

public ActionResult Map()
    {
        var model = new FiltersViewModel {SelectedNatures = new int[] {}};

        model.FillNatures();

        ViewData.Model = model; 

        return View();

    }

然后我在视图中添加了

 <%: Html.ListBoxFor(x => x.SelectedValues, Model.Values) %>

错误:

编译器错误消息:CS1973:'System.Web.Mvc.HtmlHelper'没有名为“ListBoxFor”的适用方法

问题:

  • 有没有更简单的方法来实现多选? (我只想 创建它,然后我使用ajax来获取输入)
  • 我当前的代码有什么问题?
  • 如何为我的选择选择课程和ID?

1 个答案:

答案 0 :(得分:0)

似乎这个问题处理同样的错误。我会试着看看答案是否有效。