2017-01-20 33 views
0

一致這是操作方法:動態視圖不是ASP.NET

public ActionResult Index() 
     { 
      Company company = new Company("XXX"); 

      ViewBag.Departments = new SelectList(company.Departments, "Id", "Name"); 
      ViewBag.CompanyName = company.CompanyName; 

      return View(); 
     } 

這是視圖:

@Html.TextBox("CompanyName", (string)ViewBag.CompanyName) 
<br /> 
@Html.DropDownList("Departments", "Select Department") 

我知道「部門」,是屬於ViewBag動態代碼。部門,但爲什麼TextBox中沒有動態代碼,因爲它仍然使用ViewBag.CompanyName而不僅僅是使用「CompanyName」?

+0

請說明您的具體問題或添加額外的細節,突顯你所需要的東西以下

您可以指定自己的列表。正如目前所寫,很難確切地說出你在問什麼。請參閱[如何提問](http://stackoverflow.com/help/how-to-ask)頁面以獲得澄清此問題的幫助。 – Nkosi

+0

當您使用DropDownList html助手時,它會檢查視圖行李是否存在與您爲該元素提供的名稱相同的集合,並嘗試從其中生成選項列表 –

回答

0

HtmlHelper @Html.DropDownList(...)

MVC檢查視圖袋字典已經與我們的下拉列表元素輸入相同名稱的集合。如果我們沒有使用助手指定選擇項目列表,它會嘗試生成選項列表,其中包含在查看包字典中找到的集合。如果你想重寫該行爲就像使用視圖袋數據

@Html.DropDownList("Departments", ViewBag.MyOptionList as SelectList)