在MVC视图中填充下拉列表

时间:2016-08-23 05:28:06

标签: sql-server asp.net-mvc

我是MVC框架的新手,无法弄清楚如何填充与数据库绑定的下拉列表。请在视图部分帮助我,因为我想使用以下代码在下拉列表中显示帐户名。

型号: -

[Table("account")]
public class Accounts
{
    [Key]
    public int acc_id { get; set; }
    public string acc_name { get; set; }
    // public SelectList AccountList { get; set; }  
}

AccountsContext

public class AccountsContext:DbContext
{
    public DbSet<Accounts> Account { get; set; }
    // public SelectList Accounts { get;set;}
}

控制器: -

public ActionResult Group()
{
    Accounts ak = new Accounts();
    AccountsContext accountscontext = new AccountsContext();
    List<Accounts> account = accountscontext.Account.ToList();
    return View(account);
}

1 个答案:

答案 0 :(得分:0)

您要将帐户列表作为模型发送到您的视图。没关系。但是,您将如何获得用户选择的价值?为此,您应该在服务器端拥有绑定到客户端所选项目的属性。

我建议使用ViewModel,它将帐户列表作为SelectListItem的集合(将在控制器中填充)和所选项目的另一个属性,然后将代码列表直接传递给您的视图应该传递新的viewModel并相应地绑定。

视图模型

public class AccountsViewModel
{
    public int SelectedAccountId { get; set; }
    public IEnumerable<SelectListItem> Accounts{ get; set; }
}

查看

@model AccountsViewModel
@Html.DropDownListFor(m => m.SelectedAccountId , Model.Accounts)