在我的 Web 應用程式中,我為導航欄添加了一個下拉串列。
我想從資料庫中加載一些資料。
所以在 Home Controller 中,我使用了 view bag 選項。
ViewBag.MyBranch_Id = new SelectList(BranchList, "Id", "Name");
在這個觀點中,我稱之為
@Html.DropDownList("MyBranch_Id", null, new { @class = "form-control js-dropdown js-MyBranch", @Id = "Branch" })
但問題是我在布局視圖上創建的這個下拉串列。所以當我導航到另一個視圖時,就會發生視圖包資料錯誤。(因為當我移動到另一個控制器時,視圖包方法在HomeController Index動作上。所以視圖包資料變為空。)
然后我將資料加載到會話中。所以在布局頁面上,我將會話資料稱為
@{
List<SelectListItem> MyBranch = Session["MyBranch"] as List<SelectListItem>;
}
和下拉選單
@Html.DropDownList(MyBranch, null, new { @class = "form-control js-dropdown js-MyBranch", @Id = "Branch" })
MyBranch有錯誤。不能convert selectListItem to string。
我不能使用DropDownListFor,因為它沒有分配會話資料的模型。
有沒有辦法做到這一點?
uj5u.com熱心網友回復:
在視圖中替換您的代碼,如下所示:
SelectList MyBranch = Session["MyBranch"] as SelectList;
@Html.DropDownList("MyBranch", MyBranch, new { @class = "form-control js-dropdown js-MyBranch", @Id = "Branch" })
您應該將 MyBranch 作為下拉串列中的選擇串列傳遞,希望對您有所幫助!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/511424.html
標籤:C#网asp.net-mvcasp.net-mvc-4
