0

嗨,在我使用 RAZOR 的 MVC3 项目中,我有一个疑问。

我有一个名为 CatlogPage.cshtml 的页面。在那个页面我有一个下拉列表控件。

 @(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");
       }

如何从 dropDownList 获取值(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;
            }

        }
4

2 回答 2

1

因此,假设第一个代码片段来自强类型视图(对象 DatabaseModel.CatalogModel),并且您正在将表单提交给 Hierachy 方法,那么传入 CatalogModel 并访问 CatalogName 应该是您的目标吗?

IE

public ActionResult Hierarchy(DatabaseModel.CatalogModel inputModel)
       {

          inputModel.CatalogName; //This will be the value from the drop down list
          return View("Hierarchy");
       }
于 2013-03-18T20:41:34.263 回答
1

对于 DropDownList,我使用 Int 道具来接收选定的 Id。所以我的回答是:将此属性添加到您的 ViewModel:

public Int32 SelectedCatalogId {get;set;}

并将其绑定到 DropDownList:

@Html.DropDownListFor(m => m.SelectedCatalogId, Model.GetCatalogNameModel())
于 2013-03-18T22:01:42.557 回答