2013-03-18 3 views
0

Привет в моем проекте MVC3 с RAZOR, у меня есть одно сомнение.получить dropdownlist выбранное значение в контроллере MVC3 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) от DROPDOWNLIST к контроллеру?

Это мой код модели.

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

действительно нужно немного больше информации об этом, вы означая модель от верхней код отправляется в метод иерархии, потому что, если это так, вам не хватает передачи модели в иерархию. Не уверен, что модель находится в верхнем коде, хотя – OJay

+0

@OJay plz см. Мой обновленный код –

+0

извините, но это похоже на метод, который возвращает список selectitems. Я больше имел в виду то, что представляет собой модель в фрагменте кода из представления вверху, тот, который имеет свойство Model.CatalogName – OJay

ответ

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 получить выбранный идентификатор. Так что мой ответ: Добавить эту недвижимость в вашей ViewModel:

public Int32 SelectedCatalogId {get;set;} 

И привязать его к DropDownList:

@Html.DropDownListFor(m => m.SelectedCatalogId, Model.GetCatalogNameModel()) 
Смежные вопросы