【问题标题】:asp.net html.listboxforasp.net html.listboxfor
【发布时间】:2010-05-13 20:37:39
【问题描述】:

如何填充 ASP.NET MVC 列表框? 使其不可选择? 我将如何从列表框中删除选定的项目

【问题讨论】:

标签: asp.net asp.net-mvc


【解决方案1】:

你想要一个不可选择的选择吗?

 <%= Html.ListBoxFor( m => m.Choices, 
                      Model.ChoicesMenu,
                      new { disabled = "disabled" } ) %>

这个想法是你的模型需要有一个IEnumerable&lt;SelectListItem&gt; 来保存你选择的可能的键/值对,这里是ChoicesMenu。选择的实际值(如果可以选择)将发布在Choices 属性中。使用允许您指定 html 属性并使其禁用以防止选择它的签名。当然,您可以使用 javascript 执行此操作(或撤消操作)。

型号:

 public class ViewModel
 {
     public int[] Choices { get; set; }
     public IEnumerable<SelectListItem> ChoicesMenu { get; set; }
 }

动作(相关位)

 var model = new ViewModel
 {
     ChoicesMenu = db.Items
                     .Select( i => new SelectListItem
                      {
                          Text = i.Name,
                          Value = i.ID.ToString()
                      } );
 } 

【讨论】:

    【解决方案2】:

    MVC ModelBind ListBox With Multple Selections可能会给你第一个答案。

    您可以禁用列表框中的项目,但不能禁用列表框本身。如果将 Visible 设置为 false,则不会显示整个列表框。

    做类似的事情:

    ListBox.Items[X].Selected = false
    

    将使项目不可选择。

    【讨论】:

      猜你喜欢
      • 2011-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-07
      • 2017-05-06
      • 2011-07-03
      • 1970-01-01
      相关资源
      最近更新 更多