2008-12-09 87 views

回答

33

我假设你正在寻找一个像列表框一样的选择框,这意味着显示多行,但功能上与DropDownList类似(只允许一个选择)。

看起来好像没有一种特别简单的方法可以使用ListBox将其关闭。我建议使用Html.DropdownList,与此类似:

<%= Html.DropDownList("list1", 
    new Dictionary<string, object> {{"size", "5"}}) %> 

size属性将使选择框成为ListBox的外观。此外,您需要将您的ViewData项目从MultiSelectList更改为SelectList。

+0

顺便说一句,html规范说要使用SIZE而不是ROWS。也许他们都工作我不知道。 – 2008-12-09 05:09:28

+2

我认为它需要是新的{size = 5} – 2008-12-09 05:10:19

-2

下面应该这样做:对象被转换为select元素的属性列表。

Html.DropDownList( “列表1”,新的对象{@rows = 5,@multiple = FALSE})

2

下面的代码工作对我来说,

<%= Html.DropDownList( “列表1” ,lstItem,new {@size = 5})%> 其中lstItem表示SelectListItem的列表

1

最佳解决方案是在这里。

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('select').removeAttr('multiple'); 
    }); 
</script> 
3

MVC5.cshtml

@Html.DropDownList("PropertyID", null, htmlAttributes: new {size=5, @class="form-control" }) 

控制器

ViewBag.PropertyID = new SelectList(db.EntityItems);