Asp.net mvc 获取控制器MVC3中的dropdownlist选定值
嗨,在我与RAZOR的MVC3项目中,我有一个疑问 我有一个名为CatlogPage.cshtml的页面。在那个页面中,我有一个Dropdownlist控件Asp.net mvc 获取控制器MVC3中的dropdownlist选定值,asp.net-mvc,razor,Asp.net Mvc,Razor,嗨,在我与RAZOR的MVC3项目中,我有一个疑问 我有一个名为CatlogPage.cshtml的页面。在那个页面中,我有一个Dropdownlist控件 @(Html.Telerik().DropDownListFor(m => m.CatalogName) .BindTo(Model.CatalogName).HtmlAttributes(new { style = "width:235px" })) <input type="submit" value="N
@(Html.Telerik().DropDownListFor(m => m.CatalogName)
.BindTo(Model.CatalogName).HtmlAttributes(new { style = "width:235px" }))
<input type="submit" value="Next" />
如何从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;
}
}
公共列表GetCatalogNameModel()
{
试一试{
var cat=来自_entities.Catalogs.ToList()中的s
选择新的SelectListItem()
{
Text=s.CatalogName,
Value=s.CatalogName
};
返回cat.ToList();}
捕获(例外情况除外)
{
CreateLogFiles.ErrorLog(HttpContext.Current.Server.MapPath(“~/Logs/ErrorLog”),例如,“CatalogService”,“GetCatalogName”);
返回null;
}
}
因此,假设第一个代码片段来自强类型视图(object DatabaseModel.CatalogModel),并且您将表单提交给Hierachy方法,然后传入CatalogModel并访问CatalogName,您的目标应该是什么
i、 e
对于DropDownList,我使用Int prop来接收所选Id。因此,我的答案是: 将此属性添加到ViewModel:
public Int32 SelectedCatalogId {get;set;}
并将其绑定到DropDownList:
@Html.DropDownListFor(m => m.SelectedCatalogId, Model.GetCatalogNameModel())
真的需要更多关于这方面的信息,您的意思是将顶层代码中的模型发布到Hierarchy方法,因为如果是,您将丢失将模型传递到Hierarchy的过程。不确定顶层代码中的模型是什么though@OJay请看我更新的代码抱歉,但这似乎只是一个返回selectitems列表的方法。我从顶部的一个视图(具有Model属性的视图)的代码片段中更多地说明了模型是什么。CatalogName@modelDatabaseModel.CatalogModel
public Int32 SelectedCatalogId {get;set;}
@Html.DropDownListFor(m => m.SelectedCatalogId, Model.GetCatalogNameModel())