2016-08-23 3 views
1

Я новичок в структуре MVC и не могу понять, как заполнить выпадающий список, который связывается с базой данных. Пожалуйста, помогите мне в части представления, поскольку я хочу показать имя учетной записи в выпадающем списке используя следующий код.Заполнение раскрывающегося списка в MVC View

Модель: -

[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); 
} 
+0

Покажите свой вид (и вам нужно вернуть модель, содержащую свойство связываться с (скажем) 'Int SelectedAccount' и свойства для опций (скажем) 'IEnumerable AccountList' –

+0

Stephen Я использовал этот код на мой взгляд. @model IEnumerable

+0

Какой код на ваш взгляд (вы еще не указали свой) –

ответ

0

Вы отправляете список счетов в качестве модели на ваш взгляд. Хорошо. Но как вы собираетесь получить значение, которое будет выбирать пользователь? Для этого у вас должно быть свойство на стороне сервера, привязанное к выбранному элементу на стороне клиента.

Я бы предложил использовать ViewModel, который будет иметь список учетных записей в виде коллекции SelectListItem (который будет заполнен контроллером) и другое свойство для выбранного элемента, а затем вместо передачи списка учетных записей непосредственно на ваш вид вы должны передать новый viewModel и связать соответственно.

ViewModel

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

Посмотреть

@model AccountsViewModel 
@Html.DropDownListFor(m => m.SelectedAccountId , Model.Accounts) 
Смежные вопросы