0

当我运行它时,下拉列表根本不显示。它出现在较早的时候;我不确定我改变了什么使它不起作用。仅显示提交按钮。

<div class="container">
    <h1>Enter Wellness Activity
    </h1>

    Select Activity Type:<br />
    @{
        List<Activity> acts = ViewBag.Activities;
        var selectItems = new SelectList(acts, "code", "shortTitle");
        ViewBag.selectItems = selectItems;
    }

    <div class="input">
        @{
            Html.BeginForm("ActivitySelected", "Home");
            Html.DropDownList("selectItems");
            <br />
           <button name="submit" value="Submit">Submit</button> 

           // Html.EndForm();
        }           
    </div>  
</div>
4

3 回答 3

1

您需要对此代码进行三处更改才能使其正常工作。更改 DropDownList,更改 Form,并更改提交按钮,如下所示:

<div class="input">
    @using(Html.BeginForm("ActivitySelected", "Home"))
    {
        @Html.DropDownList("selectItems", ViewBag.selectItems)
        <br />

       <input type="submit" name="submit" value="Submit" />
    }
</div>

顺便说一句,不要ViewBag.selectItems在您的视图中分配 SelectList,而是在您的控制器中执行此操作。

于 2013-08-06T19:38:22.300 回答
0

试试 Html.DropDownList("selectItems", selectItems);

请参阅此重载方法: http: //msdn.microsoft.com/en-us/library/gg548304 (v=vs.111).aspx

于 2013-08-06T19:29:33.887 回答
0

一旦您将项目设置为,ViewBag.selectItems您就不会对它们做任何事情。

尝试将它们传递到下拉列表中:

Html.DropDownList("selectItems", ViewBag.selectItems);
于 2013-08-06T19:30:11.127 回答