ASP.NET Linq-Abfrageergebnisse mit MVC an HTML.DropDownList () binden

Ich versuche, eine Dropdown-Liste mit einem einzigen Datenbankaufruf zu erstellen.

Meine Tabelle besteht aus einer ID-Spalte und einer CompanyName-Spalte. Ich muss dem Benutzer den Firmennamen anzeigen und, wenn einer ausgewählt ist, die ID für die Seite auf ID setzen.

Ich habe ein einfaches Modell zusammengestellt, um die Informationen zu speichern:

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

Aber ich habe ein Problem mit dem Controller und dem Razor Call in der Ansicht.

Mein Controller:

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

Razor call in Ansehen:

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

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

Das Modell oben in der Ansicht festhalten@model Portal.Models.CompanyListId

Auf einer hohen Ebene versuche ich also, eine Ansicht zu haben, die den Controller mit einem Rasiermessertag aufruft, das Modell mit Daten aktualisiert und diese Daten dann in der Dropdown-Liste anzeigt. Gehe ich das falsch an

Ich erhalte diesen Fehler:

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

Antworten auf die Frage(1)

Ihre Antwort auf die Frage