【问题标题】:populating two drop down lists with static list at the page load in mvc在 mvc 中的页面加载时使用静态列表填充两个下拉列表
【发布时间】:2013-08-27 09:28:22
【问题描述】:

我需要在页面加载时用一些静态列表项填充两个下拉列表,为此我已经这样做了......

控制器

  public ActionResult Index()
  {           
       GetStatus();
       GetChangeTypeTransactions();
       return View();
  }
  private static TransactionHistoryModel GetStatus()
  {
        var model = new TransactionHistoryModel
        {
            Status= "None",
            StatusList = new[]
            {
                 new SelectListItem { Value = "None", Text = "None" },
                 new SelectListItem { Value = "Success", Text = "Success" },
                 new SelectListItem { Value = "Failed", Text = "Failed" },
                 new SelectListItem { Value = "Queued", Text = "Queued" }
            }
        };
        return model;
    }

    private static TransactionHistoryModel GetChangeTypeTransactions()
    {
        var model = new TransactionHistoryModel
        {
            TypeOfChange = "None",
            TypeOfChangeList = new[]
            {
                new SelectListItem { Value = "None", Text = "None" },
                new SelectListItem { Text = "Delete Item", Value = "Delete Item" },
                new SelectListItem { Text = "Delete Vendor", Value = "Delete Vendor" },
                new SelectListItem { Text = "Delete Member", Value = "Delete Member" },
                new SelectListItem { Text = "Update CostPage Header", Value = "Update Cost Page Header" },
                new SelectListItem { Text = "Update Item", Value = "Update Item" }
            }
        };
        return model;                              
    }

查看

 <div class="firstTxtBox">
       @Html.DropDownListFor(m=>m.Status, Model.StatusList,new { style = "width:120px" })  
    </div>
    <div class="SecondLbl">
        @Html.Label("Type Of Change")
    </div>
     <div class="SecondTxtBox">
        @Html.DropDownListFor(m=>m.TypeOfChange, Model.TypeOfChangeList, new { style = "width:120px" })
     </div>

型号

public class TransactionHistoryModel
{
    public string Status { get; set; }
    public IEnumerable<SelectListItem> StatusList { get; set; }
    public string TypeOfChange { get; set; }
    public IEnumerable<SelectListItem> TypeOfChangeList { get; set; }
}

但我在这一行的开头得到了 NullReference 异常:

 @Html.DropDownListFor(m=>m.Status, Model.StatusList,new { style = "width:120px" })  

我需要在页面加载时将项目填写在两个下拉列表中,但我遇到错误,任何人对此有任何想法和建议......我使用的是 MVC 4 版本

在此先感谢...

【问题讨论】:

    标签: c# .net asp.net-mvc asp.net-mvc-3 asp.net-mvc-4


    【解决方案1】:

    试试这个,

    控制器

     public ActionResult Index()
      {     
              TransactionHistoryModel model = new TransactionHistoryModel();      
               model.StatusList = GetStatus();
                model.TypeOfChangeList = GetChangeTypeTransactions();
    OR
            ViewBag.statusasdID = GetStatus();
            ViewBag.TypeofasdID = GetChangeTypeTransactions();
               return View(model);
          }
    

    查看

    @Html.DropDownListFor(m => m.statusid, Model.StatusList , "--Select--")
    
    @Html.DropDownListFor(m => m.TypeofId, Model.TypeOfChangeList , "--Select--")
    
    OR
       @Html.DropDownList("statusid", (SelectList)ViewBag.statusasdID , "--Select--")
       @Html.DropDownList("TypeofId", (SelectList)ViewBag.TypeofasdID , "--Select--")
    

    型号

        public class TransactionHistoryModel
        {
            public int statusid { get; set; }
            public int TypeofId { get; set; }
            public string Status { get; set; }
            public IEnumerable<SelectListItem> StatusList { get; set; }
            public string TypeOfChange { get; set; }
            public IEnumerable<SelectListItem> TypeOfChangeList { get; set; }
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-28
      • 1970-01-01
      • 2017-03-06
      • 1970-01-01
      • 1970-01-01
      • 2013-06-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多