【问题标题】:How do I create a ListBox in ASP.NET MVC with single selection mode?如何在 ASP.NET MVC 中使用单选模式创建 ListBox?
【发布时间】:2008-12-09 01:07:53
【问题描述】:

如何在 ASP.NET MVC 中使用单选模式创建 ListBox?

【问题讨论】:

标签: asp.net-mvc


【解决方案1】:

我假设您正在寻找一个在视觉上类似于 ListBox 的选择框,这意味着显示多行,但在功能上类似于 DropDownList(只允许一个选择)。

似乎没有一种特别简单的方法可以使用 ListBox 实现这一目标。我建议使用 Html.DropdownList,类似于:

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

size 属性将赋予选择框以列表框的外观。此外,您需要将 ViewData 项从 MultiSelectList 更改为 SelectList。

【讨论】:

  • 顺便说一句,html 规范说使用 SIZE 而不是 ROWS。也许他们都工作我不确定。
  • 我认为它需要是新的{size = 5}
  • 你是对的。脑残——一直以为是行,查了大小,还是写了行。我会编辑我的答案。
【解决方案2】:

MVC5.cshtml

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

控制器

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

【讨论】:

    【解决方案3】:

    最好的解决方案在这里。

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

    【讨论】:

      【解决方案4】:

      以下代码对我有用,

      其中 lstItem 表示 SelectListItem 的列表

      【讨论】:

        【解决方案5】:

        下面应该这样做:对象被翻译成选择元素的属性列表。

        Html.DropDownList("list1", new Object {@rows = 5, @multiple = false} )

        【讨论】:

        • 即使你设置了 multiple = false 它仍然会在生成的 HTML 中以
        猜你喜欢
        • 1970-01-01
        • 2021-04-09
        • 2016-09-06
        • 2016-11-22
        • 1970-01-01
        • 2020-11-16
        • 2016-10-10
        • 2020-10-24
        • 2011-04-27
        相关资源
        最近更新 更多