2012-04-04 41 views
1

这是我的下拉列表:DROPDOWNLIST随着数据实体框架

     <div class="editor-label"> 
    <p> 
     <%: Html.LabelFor(model => model.Gov) %> 
    </p> 
    </div> 
    <div class="editor-field"> 
    <p> 
     <%=Html.DropDownListFor(model => model.Gov, ViewBag.gov as SelectList)%> 
     <%: Html.ValidationMessageFor(model => model.Gov) %> 
    </p> 

,这是我的视图控制器:

 public ActionResult TestR() 
    { 
     ViewBag.gov = new SelectList(entity.gouvernerat, "Idgov", "Nomg"); 
     return View(); 
    } 

随着HttpPost:

[HttpPost] 
    public ActionResult TestR(LogModel.preRegister Model) 
    { 
     if (ModelState.IsValid) 
     { 
      if (LogModel.preRegister.Verifuser(Model.IDag)) 
      { 
       ModelState.AddModelError("", "Agence existe deja"); 
       return View(Model); 
      } 
      else 
      { 
       int ins = LogModel.preRegister.Register(Model); 
       if (ins > 0) 
       { 

        return View("Index"); 
       } 
       else return View(); 
      } 
     } 
     else 
     { 
      return View(); 
     } 

    } 

现在下拉列表中显示我的我的数据库中的Gov列表(这就是我想要的),但是当我创建时,我在我的DropdownLisrt中得到了这个错误

+0

http://stackoverflow.com/questions/1297399/populating-asp-net-mvc-dropdownlist – 2012-04-04 23:42:25

回答

2

这对于LINQ to SQL来说非常简单。假设您有一个包含“Tunis”,“Ariana”等字符串的表Govs。然后,您可以创建你的选择列表如下:

govs.Select(x => new SelectListItem { Text = x.Name, Value = x.Name }); 

当然,你甚至可以更加灵活和值分配给别的东西,像一个ID。

更新:更多的细节来回答问题的意见提出:

添加选择列表项的视图模型:

public IEnumerable<SelectListItem> GovItems { get; set; } 

然后,控制器,返回你的观点之前:

// database code to get "Govs" table goes here.... 

var vm = new MyViewModel { 
    GovItems = govs.Select(x => new SelectListItem { Text = x.Name, Value = x.Name }); 
} 

然后在您的视图:

@Html.DropDownListFor(x => x.Gov, Model.Govs) 

我希望这会有所帮助。如果你仍然困惑,我建议阅读一些关于ASP.NET MVC的教程。我建议微软官方之一:

http://www.asp.net/mvc/tutorials/getting-started-with-aspnet-mvc3/getting-started-with-mvc3-part1-cs

+0

Whare我把它放在ModelClass或控制器 – Chlebta 2012-04-05 00:32:53

+0

我通常做一些事情,在控制器中,但是你可以将它放入视图模型中。它肯定不属于模型,因为它是特定于演示文稿的。 – 2012-04-05 00:36:30

+0

如何把它放入控制器?我不能对不起,但我是初学者在ASP.net MVC这是我的第一个项目 – Chlebta 2012-04-05 00:46:45