目前我能够从数据集中动态填充@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