ASP.NET Powiązanie wyników zapytania linq z HTML.DropDownList () przy użyciu MVC

Próbuję zbudować listę rozwijaną za pomocą jednego wywołania bazy danych.

Moja tabela składa się z kolumny Id i kolumny Nazwa firmy. Muszę wyświetlić nazwę CompanyName użytkownikowi, a gdy zostanie wybrana, ustaw Id dla strony na Id.

Połączyłem prosty model, aby przechowywać informacje:

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; }
    }
}

Ale mam problem z kontrolerem i brzytwą w widoku.

Mój kontroler:

public void CompanyListIdSearch()
        {
            using (var dc = new CompanyListIdDBContext())
            {
                var content = from p in db.Companies
                                select new { p.CoId, p.CompanyName };
            }
        }

Wywołanie brzytwy w widoku:

<div id="partners" class="linen">

                        @{Html.DropDownList("CompanyListIdSearch", new SelectList(Model.CompanyName));}
                    </div>

Chwytanie modelu u góry widoku@model Portal.Models.CompanyListId

Tak więc na wysokim poziomie próbuję uzyskać widok, który wywołuje kontroler za pomocą znacznika brzytwy, kontroler aktualizuje model danymi, a następnie dane te są wyświetlane na liście rozwijanej. Czy podchodzę do tego w niewłaściwy sposób?

Dostaję ten błąd:

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'. 

questionAnswers(1)

yourAnswerToTheQuestion