MVC4 DropDownList问题

时间:2013-01-18 00:28:30

标签: c# asp.net asp.net-mvc-4

所以我正在构建一个MVC4应用程序,我无法让Html.DropDownList完全表现。显示的所有实际页面都是一个提交按钮,它实际上并不呈现下拉列表。

这是控制器:

    public ActionResult Index() {
        var items = new SelectList(
            new[] {
                new { Value="ships", Text="Ship" },
            },
            "Value", "Text"
        );

        ViewData["tableitems"] = items;

        return View();
    }

这就是观点:

@using (Html.BeginForm("Search", "Encyclopedia", FormMethod.Get)) {
    @*<select id="table" name="table">
        <option value=""></option>
        <option value="ships">Ship</option>
    </select>*@

    Html.DropDownList("table", ViewData["tableitems"] as SelectList, "Ship" );

    <input type="submit" value="view" />
}

我一直在网上搜索几个小时尝试各种排列,但我无法得到它。谁能指出我做错了什么?

1 个答案:

答案 0 :(得分:3)

您在@

前面缺少Html.DropDownList
@using (Html.BeginForm("Search", "Encyclopedia", FormMethod.Get)) {
    @Html.DropDownList("table", ViewData["tableitems"] as SelectList, "Ship" );
    <input type="submit" value="view" />
}

如果没有@,您的代码只是评估MvcHtmlString,但它实际上并没有呈现给视图,而是@进来的地方!