Resultados da consulta do LINQ de ligação do ASP.NET para HTML.DropDownList () usando MVC
Eu estou tentando construir uma lista suspensa com uma única chamada de banco de dados.
Minha tabela consiste em uma coluna Id e uma coluna CompanyName. Eu preciso exibir o CompanyName para o usuário e quando um é selecionado, defina o ID da página como Id.
Eu coloquei um modelo simples em conjunto para armazenar as informações:
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Web;
namespace Portal.Models
{
public class CompanyListId
{
public int Id { get; set; }
public string CompanyName { get; set; }
}
public class CompanyListIdDBContext : DbContext
{
public DbSet<CompanyListId> Contacts { get; set; }
}
}
Mas estou tendo um problema com o controlador e a chamada de radar na exibição.
Meu controlador:
public void CompanyListIdSearch()
{
using (var dc = new CompanyListIdDBContext())
{
var content = from p in db.Companies
select new { p.CoId, p.CompanyName };
}
}
Chamada Navalha na Vista:
<div id="partners" class="linen">
@{Html.DropDownList("CompanyListIdSearch", new SelectList(Model.CompanyName));}
</div>
Agarrando o modelo no topo de uma visão@model Portal.Models.CompanyListId
Então, em um nível alto, o que estou tentando fazer é ter uma visão que chame o controlador com uma tag razor, o controlador atualiza o modelo com dados e, em seguida, esses dados são exibidos no menu suspenso. Estou me aproximando disso da maneira errada?
Estou recebendo este erro:
The model item passed into the dictionary is of type 'Portal.Models.DashboardContents', but this dictionary requires a model item of type 'Portal.Models.CompanyListId'.