我非常沮喪,試圖在幾年的webforms開發之後切換到MVC。DataBinding ASP.NET MVC中的DropDownList 2
這是我無法解決的極其簡單的問題: 我有一張名爲StateProvince的表中的狀態列表。 我有一個DropDownList。 我想讓DropDownList顯示所有的狀態。
保持簡單,我對MVC一無所知。
這是我的。所有這些給了我一個填充「System.Web.Mvc.SelectListItem」的DropDownList。
操作:
public ActionResult Create()
{
var dbTimecard = new TimecardDbDataContext();
IEnumerable<SelectListItem> stateProvinces = dbTimecard.StateProvinces.Select(p => new SelectListItem
{
Value = p.StateProvinceId.ToString(),
Text = p.Name
});
SelectList theList = new SelectList(stateProvinces);
ViewData["StateProvince"] = theList;
return View();
}
查看:
<div class="editor-label">
<%: Html.LabelFor(model => model.StateProvinceId) %>
</div>
<div class="editor-field">
<%: Html.DropDownListFor(model => model.StateProvinceId, (SelectList)ViewData["StateProvince"])%>
<%: Html.ValidationMessageFor(model => model.StateProvinceId) %>
</div>
是Model.StateProvinces實際上填充了對象AND StateProvinceId包含一個非空值AND模型!= null? – Michel 2010-04-15 20:11:03
你可以展示這個動作嗎? – 2010-04-15 20:12:30
好吧我假設創建是你的GET ...哪裏是處理帖子和返回結果的代碼?這就是我認爲問題出在哪裏,並且ViewData不會在通話之間持續存在,但我可能完全誤解了這個問題。問題是初始加載還是在發佈結果並重建視圖之後? – Kelsey 2010-04-15 20:52:45