Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.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# 如何在asp.net mvc 4中设置dropdownlist的选定值_C#_Asp.net_Asp.net Mvc_Asp.net Mvc 4 - Fatal编程技术网

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
}