2016-09-03 48 views
-1

我想使用viewbag,但我不想影響下拉列表的名稱。我想要在下拉菜單中使用不同的名稱。這是可能的還是有另一種解決方案。如何在不影響名稱下拉的情況下使用viewbag

我在查看代碼:

@{ 
    ViewBag.concurring1 = TempData["pathologistlist"]; 
}        
@Html.DropDownList("concurring", "Select Pathologist") 

回答

1

有DropDownList的輔助方法,它允許您生成自定義名稱和值

public static MvcHtmlString DropDownList(
    this HtmlHelper htmlHelper, 
    string name, 
    IEnumerable<SelectListItem> selectList, 
    IDictionary<string, object> htmlAttributes 
) 

ID SELECT元素那麼你的代碼將是另一個overload

@Html.DropDownList("MyCustomName",ViewBag.concurring as List<SelectListItem>,"Select one") 

假設有一個ViewBag條目存在fo řconcurring它的類型是IEnumerable<SelectListItem>

var list= new List<SelectListItem>{ 
    new SelectListItem { Value="MI", Text="Michigan" }, 
    new SelectListItem { Value="NY", Text="New York" } 
}; 
ViewBag.concurring = list; 

上面的代碼將生成具有值名字ID設置爲「MycustomName

+0

它說有類型的無ViewData的項目「的IEnumerable 」 SELECT元素的那有密鑰MyCustomName –

+0

你試過更新的答案嗎? – Shyju

+0

感謝您的答案,但你知道如何添加一個硬編碼值與數據庫中的值在下拉列表中? –

相關問題