簡體   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