【发布时间】:2015-02-04 08:05:04
【问题描述】:
我在控制器动作中使用了选择列表项,并通过传入参数将选择列表项值传递给另一个控制器动作,但在另一个控制器动作中没有得到任何值
//第一个控制器动作
List<SelectListItem> dropdownItems = new List<SelectListItem>();
foreach (var item in (IEnumerable)singlecheckbox)
{
int Id = Convert.ToInt32(item);
dropdownItems.AddRange(new[]{
new SelectListItem() { Text = null, Value = Id.ToString() }});
}
return RedirectToAction("mergeletterttofiles123", "managefile", new { dropdownItems, SeatId = seatId });
// 第二个控制器动作
public ActionResult mergeletterttofiles123(List<SelectListItem> dropdownItems, int SeatId, string msg)
{
// dropdownItems shows null( 0 count)
}
【问题讨论】:
-
您不能将复杂对象(除非它们仅包含值类型)或集合作为参数传递给
ActionResultGET 方法。您需要将集合保存在某个地方,然后再次获取它(尽管这是您的情况,只需在第二种方法中再次生成SelectList。
标签: c# asp.net-mvc selectlistitem