2017-01-15 4 views
0

Mir ist klar, dass dies eine häufig gestellte Frage ist, aber keine der gefundenen Antworten schien mein Problem zu beheben.Wiederverwendungsaktionsfehler - Es gibt kein ViewData-Element vom Typ 'IEnumerable <SelectListItem>' mit dem Schlüssel 'projectName'

Ich habe eine Aktion in meinem Controller, die ein Dropdown-Menü mit Informationen aus einer Datenbank füllt.

Alles funktioniert gut, bis ich versuche, das Dropdown in einer anderen Ansicht wieder zu verwenden.

-Controller

public ActionResult ImportAddresses1([Bind(Include = "ProjectID, ProjectName")] ProjectMaster projectName) 
{ 
    ViewBag.ProjectName = new SelectList(db.ProjectMaster, "ProjectID", "ProjectName");  
    return View(); 
} 

Ansicht

@Html.DropDownList("ProjectName", null, "-- Please select a project --", htmlAttributes: new { id = "projectselect", title = "ProjectName", @class = "form-control", }) 

Wieder es in einer Ansicht funktioniert gut, aber nicht, wenn ich versuche itin eine andere Ansicht zu verwenden.

Was fehlt mir?

Das Ziel ist es, dieses Dropdown einfach in einer anderen Ansicht wieder zu verwenden.

Drop down needed to repeat in several views

+1

können Sie Controller-Aktion und seine Ansicht Code zeigen, wo es nicht ist, der obige Code arbeitet, ist nicht genug, um das Problem –

+0

Mein originelles Denken zu finden war ich einfach den gleichen Code wiederverwenden konnte: @ Html.DropDownList ("Projektname ", null," - Bitte wählen Sie ein Projekt - ", htmlAttributes: new {id =" projectselect ", title =" Projektname ", @class =" form-control ",}) in meiner neuen Ansicht als ich Sie müssen einfach dieselbe Dropdown-Liste in einer anderen Ansicht anzeigen, die den gleichen Aufruf an die obige Controller-Aktion sendet. z. View 1 (dieses arbeitet) Aktion „ImportAddresses1“ View 2 (dieses nicht) können Sie den 'ViewBag.ProjectName' den Code für die Einstellung wird auch sein –

+1

in der Controller-Aktion dieser Ansicht genannt, schreiben müssen benötigt –

Antwort

0

ich mein Problem behoben. Ich hatte während der früheren Entwicklung des Projekts zahlreiche PC-Sperren. Ich entschied mich, das Projekt von Grund auf neu zu machen und dann meine Formulare und Controller wieder einzusetzen, indem ich meinen Code in neue einfügen, die ich erstellt habe (wodurch neue Scaffolds entstehen) und alles ist gut.

Vielen Dank an alle, die geantwortet haben.

Verwandte Themen