繁体   English   中英

asp.net html.listboxfor

[英]asp.net html.listboxfor

我将如何填充ASP.NET MVC列表框? 让它不可选择? 我将如何从列表框中删除所选项目

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

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

我们的想法是你的模型需要有一个IEnumerable<SelectListItem> ,它将为你的选择保留可能的键/值对,这里是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()
                      } );
 } 

具有多种选择的MVC ModelBind ListBox可能会为您提供第一个答案。

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

做类似的事情:

ListBox.Items[X].Selected = false

将使项目不可选。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM