2013-03-18 94 views
0

嗨,在我的MVC3項目中使用RAZOR,我有一個疑問。在控制器MVC3中獲取dropdownlist選定值Razor

我有一個名爲CatlogPage.cshtml的頁面。在那個頁面中我有一個Dropdownlist控件。

@(Html.Telerik().DropDownListFor(m => m.CatalogName) 
    .BindTo(Model.CatalogName).HtmlAttributes(new { style = "width:235px" })) 
    <input type="submit" value="Next" /> 

我有一個名爲Hierarchy.cs控制器: 在控制器,

public ActionResult Hierarchy() 
     { 

      // Need to get the selected value in DropDownList 
      return View("Hierarchy"); 
     } 

如何從下拉列表到控制器中的值(CatalogName編)?

這是我的型號代碼。

public List<SelectListItem> GetCatalogNameModel() 
     { 
      try{ 
       var cat = from s in _entities.Catalogs.ToList() 
          select new SelectListItem() 
            { 
             Text = s.CatalogName, 
             Value = s.CatalogName 
            }; 
       return cat.ToList();} 
      catch (Exception ex) 
      { 
       CreateLogFiles.ErrorLog(HttpContext.Current.Server.MapPath("~/Logs/ErrorLog"), ex, "CatalogService", "GetCatlogName"); 
       return null; 
      } 

     } 
+0

真的需要這一點的更多信息,你的意思,從頂部的模型代碼發佈到Hierarchy方法,因爲如果它是,你缺少將模型傳遞給Hierarchy。不知道什麼模型是在頂部的代碼雖然 – OJay 2013-03-18 09:49:01

+0

@OJay PLZ看到我更新的代碼 – 2013-03-18 10:44:03

+0

對不起,但這似乎是一種方法,返回一個選擇項目列表。我更關心的是頂部視圖的代碼片段中Model的含義,Model.CatalogName的屬性 – OJay 2013-03-18 10:48:48

回答

1

所以假設第一代碼片段是一個強類型視圖(對象DatabaseModel.CatalogModel)和您所提交的形式向數字體系方法,然後傳遞一個CatalogModel和訪問CatalogName編應該是什麼你的後?

public ActionResult Hierarchy(DatabaseModel.CatalogModel inputModel) 
     { 

      inputModel.CatalogName; //This will be the value from the drop down list 
      return View("Hierarchy"); 
     } 
1

對於DropDownList中,我使用一個Int丙以接收所述選擇的ID。所以,我的回答是: 這個屬性添加到您的視圖模型:

public Int32 SelectedCatalogId {get;set;} 

並將其綁定到DropDownList的:

@Html.DropDownListFor(m => m.SelectedCatalogId, Model.GetCatalogNameModel()) 
相關問題