別のコントローラからのドロップダウンにデータを入力しようとしています。実装された@ Html.DropDownListを持つDeviceControllerがあります。もともと、私はコントローラのドロップダウンに値を設定するコードを持っています。今私はドロップダウンのために指定されたコントローラに移動しようとしています。だから私は複数のコントローラで同じコードの代わりに1つの場所にドロップダウンを設定するコードがあります。私は元のコントローラでそれを持っているとき、私はそれを移動すると、ドロップダウン・ロードが正しくただし、ドロップダウン・コントローラは、私は次のエラーThere is no ViewData item of type 'IEnumerable<SelectListItem>' that has the key 'DropDownDeviceType'.
別のコントローラからのビューのドロップダウンへの埋め込み
私のビューのコード受信 - 私のDropDownControllerから
@Html.DropDownList("DropDownDeviceType", null, htmlAttributes: new { @class = "form-control" })
を(私が持っている場合私DeviceControllerで、それが意図したように動作し、私のDeviceControllerでこのコード)
public void PopulateDevciceType(object selectDeviceType = null)
{
string voidInd = "N";
var deviceType = db.DeviceTypes
.Where(x => x.VoidInd == voidInd)
.OrderBy(x => x.DeviceType1);
//ViewData["DropDownDeviceType"] = new SelectList(deviceType, "DeviceTypeID", "DeviceType1", selectDeviceType);
ViewBag.DropDownDeviceType = new SelectList(deviceType, "DeviceTypeID", "DeviceType1", selectDeviceType);
}
//Populate dropdowns
DropDownController dropDown = new DropDownController();
dropDown.PopulateDevciceType(model.DeviceTypeID);