0

我在控制器操作中使用了选择列表项,并通过传入参数将选择列表项值传递给另一个控制器操作,但在另一个控制器操作中没有得到任何值

// 第一个控制器动作

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)
}
4

1 回答 1

0

As an option you can store list in Session:

...........
//your code
Session["dropdownItems"]=dropdownItems;
RedirectToAction("mergeletterttofiles123", "managefile", new { SeatId = seatId });

And then:

public ActionResult mergeletterttofiles123(int SeatId, string msg)
{
    //then get it using something like
    var dropdownItems = Session["dropdownItems"] as List<SelectListItem>;
}
于 2015-02-04T09:12:01.680 回答