2017-01-15 43 views
0

我意識到這是一個常見問題,但我找到的答案沒有一個似乎解決了我的問題。重用動作錯誤 - 沒有類型爲'IEnumerable <SelectListItem>'的ViewData項具有'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", }) 

同樣工作在一個視圖中很好,但不是當我嘗試使用ITIN另一種觀點。

我錯過了什麼?

目標是在另一個視圖中重複使用此下拉菜單。

Drop down needed to repeat in several views

+1

可以顯示控制器動作,並在那裏工作不其視圖代碼,上面的代碼是不夠的,發現問題 –

+0

我原來的想法是,我可以簡單地重複使用相同的代碼: @ Html.DropDownList(「項目名「,null,」 - 請選擇一個項目 - 「,htmlAttributes:new {id =」projectselect「,title =」ProjectName「,@class =」form-control「,}) 在我的新視圖中,I只需要在另一個視圖中使用相同的下拉菜單對上述控制器操作進行相同的調用即可。 例如。 查看1(此作品) 動作名爲「ImportAddresses1」 查看2(此人沒有) –

+1

在該視圖的控制器動作中,需要編寫用於設置'ViewBag.ProjectName'的代碼也將是需要 –

回答

0

我解決了我的問題。在項目早期的開發過程中,我經歷了無數的PC鎖定。我決定從頭開始重做項目,然後通過將我的代碼粘貼到我創建的新聞中(允許新的腳手架發生)並重新定義我的表單和控制器,並且一切都很好。

謝謝大家回覆。

相關問題