MVC - @Html.Dropdown 不从 ViewBag 填充值
MVC - @Html.Dropdown not populating values from ViewBag
我是 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>
单击“查看源代码”时呈现的 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!!
问题是您没有设置 SelectListItem 的 Text 属性,更新如下:
ViewBag.ddlStreamsVB = reportTypes.Split('|')
.Select((value) => new SelectListItem
{ Value= value.ToString(),
Text = value
});
我是 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>
单击“查看源代码”时呈现的 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!!
问题是您没有设置 SelectListItem 的 Text 属性,更新如下:
ViewBag.ddlStreamsVB = reportTypes.Split('|')
.Select((value) => new SelectListItem
{ Value= value.ToString(),
Text = value
});