我对MVC很新。
我正在尝试开发MVC网页。我正在尝试使用@HtmlDropDownList(),它必须使用ViewBag填充我的web.config中的值。页面将使用正确的值进行渲染,但是在输出屏幕上,没有输出。下拉列表仅在屏幕上显示空值。有人可以帮忙!
Webconfig代码:
<add key="ddlStreams" value="Las Vegas|India|Australia"/>
控制器代码:
public ActionResult Index()
{
string reportTypes = ConfigurationManager.AppSettings["ddlStreams"].ToString();
ViewBag.ddlStreamsVB = reportTypes.Split('|')
.Select((value) => new SelectListItem { Value = value.ToString() });
GetData getdata = new GetData();
return View(getdata.GetDataFromTable());
}
这是我的观点:
<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>
单击View source:
时呈现的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>
最终输出:( Final output here!!
答案 0 :(得分:1)
问题是你没有设置SelectListItem的Text prop,更新如下:
ViewBag.ddlStreamsVB = reportTypes.Split('|')
.Select((value) => new SelectListItem
{ Value= value.ToString(),
Text = value
});