Asp.net mvc MVC-@Html.Dropdown未填充ViewBag中的值

Asp.net mvc MVC-@Html.Dropdown未填充ViewBag中的值,asp.net-mvc,html-select,Asp.net Mvc,Html Select,我是MVC的新手 我正在尝试开发一个MVC网页。我正在尝试使用@HtmlDropDownList,它必须使用ViewBag从我的web.config填充值。使用正确的值呈现页面,但是在输出屏幕上没有输出。下拉列表仅在屏幕上显示空值。有人能帮忙吗 网络配置代码: <add key="ddlStreams" value="Las Vegas|India|Australia"/> 我的看法是: <div > <div class="form-control"&g

我是MVC的新手

我正在尝试开发一个MVC网页。我正在尝试使用@HtmlDropDownList,它必须使用ViewBag从我的web.config填充值。使用正确的值呈现页面,但是在输出屏幕上没有输出。下拉列表仅在屏幕上显示空值。有人能帮忙吗

网络配置代码:

<add key="ddlStreams" value="Las Vegas|India|Australia"/>
我的看法是:

<div >
    <div class="form-control">
        <div class="row">

            <div class="col-sm-4">
                @Html.Label("Stream name")
            </div>
            <div class="col-md-8">
                @Html.DropDownList("ddlStreamsVB1", ViewBag.ddlStreamsVB as IEnumerable<SelectListItem>)
            </div>
        </div>
    </div></div>
单击查看源时呈现的HTML:

<div >
        <div class="form-control">
            <div class="row">

                <div class="col-sm-4">
                    <label for="Stream_name">Stream name</label>
                </div>
                <div class="col-md-8">
                    <select id="ddlStreamsVB1" name="ddlStreamsVB1"><option value="Las Vegas"></option>
<option value="India"></option>
<option value="Australia"></option>
</select>
                </div>
            </div>
        </div>


    </div>
最后的产出:

问题是您没有设置SelectListItem的文本属性,更新如下:

ViewBag.ddlStreamsVB =  reportTypes.Split('|')
            .Select((value) => new SelectListItem 
            { Value= value.ToString(),
             Text = value 
            });
ViewBag.ddlStreamsVB =  reportTypes.Split('|')
            .Select((value) => new SelectListItem 
            { Value= value.ToString(),
             Text = value 
            });