2017-01-15 9 views
0

Я понимаю, что это часто задаваемый вопрос, но ни один из ответов, который я нашел, по-видимому, не исправил мою проблему.Reusing Action error - Нет элемента ViewData типа «IEnumerable <SelectListItem>», который имеет ключ «projectName»

У меня есть действие в моем контроллере, которое заполняет выпадающее меню, используя информацию из базы данных.

Все работает нормально, пока я не попытаюсь повторно использовать выпадающее меню.

Контроллер

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

Посмотреть

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

Опять он отлично работает в одной из точек зрения, но не тогда, когда я пытаюсь использовать тир другой вид.

Что мне не хватает?

Цель состоит в том, чтобы просто повторно использовать эту информацию в другом представлении.

Drop down needed to repeat in several views

+1

вы можете показать действие контроллера и его просмотр код, где он не работает, приведенный выше код не достаточно, чтобы найти проблему –

+0

Моего первоначального мышления я мог бы просто использовать тот же код: @ Html.DropDownList ("ProjectName ", null", - выберите проект - ", htmlAttributes: new {id =" projectselect ", title =" ProjectName ", @class =" form-control ",}) в моем новом представлении, поскольку я просто нужно иметь одно и то же раскрытие в другом представлении, делающее тот же вызов вышеупомянутому действию контроллера. например. View 1 (this one works) Действие под названием «ImportAddresses1» View 2 (этого не делает) –

+1

в действии этого контроллера, вам нужно написать код для установки 'ViewBag.ProjectName', также будет –

ответ

0

я решил мою проблему. У меня были многочисленные блокировки ПК во время более ранней разработки проекта. Я решил перепроектировать проект с нуля, а затем повторно назначил свои формы и контроллеры, вставив мой код в новостные, которые я создал (позволяя создавать новые строительные леса), и все хорошо.

Спасибо всем, кто ответил.