C# 下拉菜单不支持';不加载所选项目
我无法在模型上选择的选项上使用下拉菜单加载“编辑用户”页面。当我添加用户时,它被正确地保存在数据库中 我尝试在“编辑”视图中绑定它,但由于某些原因,它无法工作 User.cs(模型) 公共字符串ActivityLevel{get;set;} 控制器C# 下拉菜单不支持';不加载所选项目,c#,asp.net-mvc,asp.net-mvc-5,C#,Asp.net Mvc,Asp.net Mvc 5,我无法在模型上选择的选项上使用下拉菜单加载“编辑用户”页面。当我添加用户时,它被正确地保存在数据库中 我尝试在“编辑”视图中绑定它,但由于某些原因,它无法工作 User.cs(模型) 公共字符串ActivityLevel{get;set;} 控制器 List<SelectListItem> activity = new List<SelectListItem> { new SelectListItem{ Selected = false ,
List<SelectListItem> activity = new List<SelectListItem>
{
new SelectListItem{ Selected = false ,Text = "Sedentary (little or no exercise)", Value = "Sedentary (little or no exercise)" },
new SelectListItem{ Selected = false ,Text = "Lightly active (light exercise/sports 1-3 days/week)", Value = "Lightly active (light exercise/sports 1-3 days/week)" },
new SelectListItem{ Selected = false ,Text = "Moderately active (moderate exercise/sports 3-5 days/week)", Value = "Moderately active (moderate exercise/sports 3-5 days/week)" },
new SelectListItem{ Selected = false ,Text = "Very active (hard exercise/sports 6-7 days a week)", Value = "Very active (hard exercise/sports 6-7 days a week)" },
new SelectListItem{ Selected = false ,Text = "Extra active (very hard exercise/sports & a physical job)", Value = "Extra active (very hard exercise/sports & a physical job)" },
};
Edituser(View):(我认为这就是问题所在,或者是edit方法的get控制器)
选择活动级别
@Html.DropDownListFor(m=>m.ActivityLevel,
新建选择列表(ViewBag.activity,“值”、“文本”),
新的{@class=“表单控制”})
新用户(视图):
选择活动级别
@Html.DropDownListFor(m=>m.ActivityLevel,
新建选择列表(ViewBag.activity,“值”、“文本”),
新的{@class=“表单控制”})
请检查以下解决方案:
请分离代码,在不同的视图包中传递所选值,例如Viewbag。选择edid
并
传递您传入的任何内容ViewBag.activity
EditUser和
在Edituser UI中这样使用
@Html.DropDownListFor(m => m.ActivityLevel, new SelectList(ViewBag.activity, "Value", "Text", Viewbag.SelectedID), new { @class = "form-control" })
有错误吗?没有,当我试图编辑一个用户时,它总是加载第一个选项。好的,当你编辑数据时,你设置了
下拉列表
值吗?请在Edituser视图@Html.DropDownListFor(m=>m.ActivityLevel,new SelectList(ViewBag.activity,“value”,“Text”,SelectedValue),new{@class=“form control”})
@jishansiddique yes它在视图中:Html.DropDownListFor(m=>m.ActivityLevel,new SelectList(ViewBag.activity,“Value”,“Text”),new{class=“form control”}),在get控制器中,i do:activity.Single(i=>i.Value==user.ActivityLevel.Selected=true;ViewBag.activity=activity;
<label>Select Activity level</label>
@Html.DropDownListFor(m => m.ActivityLevel,
new SelectList(ViewBag.activity, "Value", "Text"),
new { @class = "form-control" })
<label>Select Activity level</label>
@Html.DropDownListFor(m => m.ActivityLevel,
new SelectList(ViewBag.activity, "Value", "Text"),
new { @class = "form-control" })
@Html.DropDownListFor(m => m.ActivityLevel, new SelectList(ViewBag.activity, "Value", "Text", Viewbag.SelectedID), new { @class = "form-control" })