目前我能夠從數據集中動態填充@Html.DropDownList()
。下面的代碼適用於此。使用單選按鈕代替DropDownList
控制器
public static IEnumerable<SelectListItem> myList
{
get
{
ReportAPI.ReportsAPI ws = new ReportAPI.ReportsAPI();
DataSet ds = ws.GetReportDataSet(userguid, reportguid);
DataTable dt = ds.Tables[0];
List<SelectListItem> list = new List<SelectListItem>();
foreach (DataRow dr in dt.Rows)
{
list.Add(new SelectListItem
{
Text = dr["text"].ToString(),
Value = dr["value"].ToString(),
});
}
return list;
}
}
public ActionResult NewSubscriber()
{
ViewData["subscriptionplanx"] = myList;
return View();
}
VIEW
@Html.DropDownList("subscriptionplanx")
現在,而不是使用一個DropDownList,我想用單選按鈕代替。我將如何做到這一點?
已經有上HtmlHelpers一些工作RadioButtonLists - 在這裏:http://jonlanceley.blogspot.com/2011/06/mvc3-radiobuttonlist -helper.html和http://stackoverflow.com/questions/2512809/has-anyone-implement-radiobuttonlistfort-for-asp-net-mvc – kd7 2013-04-23 18:00:01
此外,你還應該使用「ViewModel」,而不是將東西扔進ViewData。鑑於ViewData的動態特性,ViewData非常笨拙,您必須使用HiddenFields將數據恢復到POST操作。只需爲有問題的視圖創建一個ViewModel,就可以消除ViewData中所有的麻煩。 – Graham 2013-04-23 20:24:45