C# 如何在asp.net mvc 4中设置dropdownlist的选定值
控制器中有以下代码:C# 如何在asp.net mvc 4中设置dropdownlist的选定值,c#,asp.net,asp.net-mvc,asp.net-mvc-4,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 4,控制器中有以下代码: public ActionResult method(int? id){ var list; var project; if(id.HasValue){ list = repository.FindAsync(Identity.User.Id); project = list.FirstOrDefault(p => p.Id == id); ViewBag.List = list; Vie
public ActionResult method(int? id){
var list;
var project;
if(id.HasValue){
list = repository.FindAsync(Identity.User.Id);
project = list.FirstOrDefault(p => p.Id == id);
ViewBag.List = list;
ViewBag.SelectedValue = project.Id;
}
return View();
}
我看到了这个
<div>
@Html.DropDownList("projectLists", ViewBag.list as List<SelectListItem>, new { @class = "class"})
</div>
@DropDownList(“projectlist”,ViewBag.list作为列表,新的{@class=“class”})
我如何使用ViewBag.SelectedValue来呈现带有该id的项目的下拉列表。我需要一些帮助,因为我是ASP.NET MVC的新手,将其设置为DropDownList for,并在模型上具有SelectedItemID属性以将其发布到其中。您需要从视图模型开始,以表示您要显示/编辑的内容
public class MyViewModel
{
public int SelectedProject { get; set; }
public SelectList ProjectList { get; set; }
}
然后在GET方法中
public ActionResult method(int? id)
{
IEnumerable<Project> projects = repository.FindAsync(Identity.User.Id);
MyViewModel model = new MyViewModel()
{
SelectedProject = projects.FirstOrDefault(p => p.Id == id),
ProjectList = new SelectList(projects, "Id", "Name")
};
return View(model);
}
以及POST方法
public ActionResult method(MyViewModel model)
{
// model.SelectedProject contains the ID of the selected project
}
我想将项目名称显示为选项文本,将值显示为项目id。是,它返回IEnumerable
public ActionResult method(MyViewModel model)
{
// model.SelectedProject contains the ID of the selected project
}