嗨,在我使用RAZOR的MVC3项目中,我有一个疑问。
我有一个名为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");
}
如何从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;
}
}
答案 0 :(得分:1)
因此,假设第一个代码片段来自强类型视图(对象DatabaseModel.CatalogModel)并且您正在将表单提交给Hierachy方法,那么传入CatalogModel并访问CatalogName应该是您的后续内容吗? / p>
即
public ActionResult Hierarchy(DatabaseModel.CatalogModel inputModel)
{
inputModel.CatalogName; //This will be the value from the drop down list
return View("Hierarchy");
}
答案 1 :(得分:1)
对于DropDownList,我使用Int prop来接收所选的Id。所以我的答案是: 将此属性添加到ViewModel:
public Int32 SelectedCatalogId {get;set;}
并将其绑定到DropDownList:
@Html.DropDownListFor(m => m.SelectedCatalogId, Model.GetCatalogNameModel())