簡體   English   中英

顯示下拉列表

[英]Display DropDownList

我正在嘗試使用enum建立一個下拉列表。 我嘗試了以下操作,但不知道如何在視圖中顯示它。 我正在使用MVC framework

 public enum Condition
        {
            And,
            Or,
            Not,
        }

 private List<Condition> userTypes = Enum.GetValues(typeof(Condition)).Cast<Condition>().ToList();

       public List<Condition> UserType
       {
           get
           {
               return userTypes;
           }
           set
           {
               userTypes = value;
           }
       }

上面的代碼顯示一個簡單的下拉列表是否正確? 以及如何傳遞視圖以顯示下拉列表。 謝謝

在您的Action

ViewData["ddl"] = userTypes.Select(t => new SelectListItem { Text = t.ToString(), Value = ((int)t).ToString() });

在您的aspx

<%=Html.DropDownList("ddl", ViewData["ddl"] as IEnumerable<SelectListItem>)%>

其余的一切都很好。

您假設從屬性UserType而不是Condition類型返回string列表。 其次,屬性必須是readonly因為枚舉是恆定的,用戶不會更改它。 最后,不要使用變量,屬性本身可以處理此問題。

public List<string> UserType
{
   get
   {
      return Enum.GetNames(typeof(Condition)).ToList();
   }
}
  1. 在模型中添加一個類似於以下內容的列表:

    \n  私有列表conditionList = Enum.GetValues(typeof(Condition))\n                     。投()\n                     .Select(e => new SelectListItem {值=((int)e).ToString(),文本= e.ToString()}); \n
  2. 然后將其添加到您的視圖中

    \n @ Html.EditorFor(M => m.Condition,Model.conditionList)    \n

我相信這會使事情變得更容易。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM