我在asp.net mvc web应用程序中有以下内容: -
<div class="SmallDropDown2 b" >
@ViewBag.pagesize // to test the value Show
@Html.DropDownList("pagedsizeoptions", new SelectList(ViewBag.PagedSizeOptions, "Value", "Text", ViewBag.pagesize ), new { @id= "pagedsizeoptions",@class="SmallDropDown3"}) per page.
<img src="~/Content/sortloading.gif" class="loadingimage" id="progressSort3" /></div>
目前DropdownList忽略了应该等于ViewBag.pagesize的默认值。即使我手动指定defualt值,它也将被忽略,如下所示!!!: -
@Html.DropDownList("pagedsizeoptions", new SelectList(ViewBag.PagedSizeOptions, "Value", "Text", 100 ), new { @id= "pagedsizeoptions",@class="SmallDropDown3"})
有人可以建议为什么我无法为Html.DropdownList指定默认值吗? 感谢
编辑以下是我构建SelectList的方法: -
public PageOptions()
{
int size = Int32.Parse(System.Web.Configuration.WebConfigurationManager.AppSettings["TechPageSize"]);
FilterOptions = new SelectList(
new List<SelectListItem> {
new SelectListItem { Text=size.ToString(), Value = size.ToString()},
new SelectListItem { Text="50", Value = "50"},
new SelectListItem { Text="100", Value = "100"},
new SelectListItem { Text="200", Value = "200"},
new SelectListItem { Text="500", Value = "500"}
}, "Value", "Text");
}
public SelectList FilterOptions { get; set; }
答案 0 :(得分:1)
只需确保ViewBag中的属性名称与DropDownList的名称不同。
@Html.DropDownList("pagedsizeoptions", new SelectList(ViewBag.PagedSizeOptionsSelectList, "Value", "Text", ViewBag.pagesize ), new { @id= "pagedsizeoptions",@class="SmallDropDown3"})
有一些关于ViewBag中名称的约定以及打破选择值的下拉列表的名称:ASP.NET MVC Html.DropDownList SelectedValue
即只是这样:
@Html.DropDownList("PagedSizeOptions")
如果ViewBag中有一个名为PagedSizeOptions的选择列表
http://blinkingcaret.wordpress.com/2012/08/11/using-html-dropdownlistfor/