Tim*_*een 2 razor c#-4.0 asp.net-mvc-3 drop-down-menu
我的Create()视图中的下拉列表工作完美.
但是在Edit()视图中,我无法获取在Create()期间提交的数据,以便在DropDowns中显示,并在Create()上输入值
我现在只有文本框,并且非常希望在下拉列表中显示数据代表以便于选择.
这是一个例子:
Create()View - 一个下拉列表用于EmployeeTypes,另一个下拉列表选择为EmployeeTypeId
现在我如何在Edit()视图中显示相同的下拉列表,但是已经选择了EmployeeId值?
我有一个用于Create()视图的EmployeeViewModel
但我只是将模型直接传递给Edit()视图
我应该为Edit()视图创建某种Employee"partial class"吗?处理IEnumerable列表?
并设置:
var employeeTypes = context.EmployeeTypes.Select(et => new SelectListItem
{
Value = et.EmployeeTypeId.ToString(),
Text = et.Type.ToString()
});
Run Code Online (Sandbox Code Playgroud)
或者我应该将它们作为ViewData传递?
如果是这样,你怎么做一个List作为ViewData并让它显示为@ Html.DropDownList与从@Model传入的值作为defualt值?
我最终以这种方式恭维,它就像一场梦一样.
控制器代码:
SelectList typelist = new SelectList(context.CompanyType.ToList(), "CompanyTypeId", "Type", context.CompanyType);
ViewData["CompanyTypes"] = typelist;
Run Code Online (Sandbox Code Playgroud)
查看代码:
@Html.DropDownList("CompanyTypeId", (IEnumerable<SelectListItem>) ViewData["CompanyTypes"])
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
12627 次 |
最近记录: |