Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 下拉菜单不支持';不加载所选项目_C#_Asp.net Mvc_Asp.net Mvc 5 - Fatal编程技术网

C# 下拉菜单不支持';不加载所选项目

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 ,

我无法在模型上选择的选项上使用下拉菜单加载“编辑用户”页面。当我添加用户时,它被正确地保存在数据库中

我尝试在“编辑”视图中绑定它,但由于某些原因,它无法工作

User.cs(模型)

公共字符串ActivityLevel{get;set;}

控制器

    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" })