我覺得我正在吃瘋狂的藥。我有一個從我們的數據庫讀取所有葡萄酒生產者的視圖的下拉列表。我想將selectedValue設置爲推薦頁面驅動的特定ID。我可以看到它在調試中選擇了selectedValue,我看到填充的選定值(在本例中爲906),但在頁面呈現時,它不會將下拉列表設置爲正確的值,對於默認值,它始終默認爲1值。我已經嘗試在剃刀中創建selectList,而不是我的控制器,但沒有任何工作。任何幫助,這將不勝感激,我猜這是小事。MVC3 DropDownListFor不填充selectedValue
控制器:
if (User.IsInRole("admin"))
{
if (ID != 0)
{
ViewBag.ProducerSelect = new SelectList(db.Producers.OrderBy(p => p.Name), "ProducerID", "Name", ID);
}
else
{
ViewBag.ProducerSelect = new SelectList(db.Producers.OrderBy(p => p.Name), "ProducerID", "Name");
}
}
查看:
if (User.IsInRole("producereditor"))
{
<h3>@ViewBag.ProducerName</h3>
}
else
{
<div class="editor-label">
@Html.LabelFor(m => m.Wine.ProducerID, "Producer")
</div>
<div class="editor-field">
@Html.DropDownListFor(m => m.Wine.ProducerID, ViewBag.ProducerSelect as SelectList)
</div>
}
試過以下,但沒有成功:
ViewBag.ProducerSelect = new SelectList(from p in db.Producers
orderby p.Name
select new { p.ProducerID, p.Name }
, "ProducerID", "Name", ID);
啊!隱藏的領域總是滋擾!!很高興知道這一切都結束了。不要忘記投票你認爲有幫助的答案 – superartsy 2012-08-13 15:46:21