【发布时间】:2013-04-17 01:23:44
【问题描述】:
目前我能够从数据集中动态填充@Html.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();
}
查看
@Html.DropDownList("subscriptionplanx")
现在,我不想使用 DropDownList,而是使用单选按钮。我该怎么做?
【问题讨论】:
-
在 HtmlHelpers 上为 RadioButtonLists 做了一些工作 - 这里:jonlanceley.blogspot.com/2011/06/… 和 stackoverflow.com/questions/2512809/…
-
此外,您还应该使用“ViewModel”而不是向 ViewData 扔东西。鉴于 ViewData 的动态特性,它确实很尴尬,而且无论如何您都必须使用 HiddenFields 将数据恢复到 POST 操作中。只需为有问题的视图创建一个 ViewModel,您就可以使用 ViewData 消除所有铸造麻烦。
标签: c# asp.net-mvc