[英]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.