Asp.net mvc 在MVC4中,如何将int列表从操作传递到视图,然后从视图传递到方法?

Asp.net mvc 在MVC4中,如何将int列表从操作传递到视图,然后从视图传递到方法?,asp.net-mvc,asp.net-mvc-4,asp.net-ajax,viewbag,tempdata,Asp.net Mvc,Asp.net Mvc 4,Asp.net Ajax,Viewbag,Tempdata,在MVC4应用程序中的Create(post)操作中,我想传递int type list以查看是否发生错误。然后,使用ajax post将其传递给同一控制器中的其他方法。所以,TempData,ViewData和ViewBag对我没有帮助 public ActionResult Create(CreateModel model) { if(hasCustomError) { List<in

在MVC4应用程序中的
Create
(post)操作中,我想传递int type list以查看是否发生错误。然后,使用ajax post将其传递给同一控制器中的其他方法。所以,
TempData
ViewData
ViewBag
对我没有帮助

public ActionResult Create(CreateModel model)
       {
             if(hasCustomError)
             {
                  List<int> selectedItems = new List<int>() { 1, 2, 8 }; //for example.
                  ViewBag.VB = selectedItems;

                  //ViewData["VD"] = selectedItems;
                  //TempData["TD"] = selectedItems;

                   return View(model);
             }

             return RedirectToAction("Index");
       }
MyController
中,在
GetTreeData
方法
TempData[“SelectedItems”]
中,是
null

 public string GetTreeData()
        {
           List<int> selecteds = null;
           if (TempData["SelectedItems"] != null)
            {
                selecteds = TempData["SelectedItems"] as List<int>;
                TempData["SelectedItems"] = null;
            }
            ......................................
        }
公共字符串GetTreeData() { 列表selecteds=null; if(TempData[“SelectedItems”!=null) { selecteds=TempData[“SelectedItems”]作为列表; TempData[“SelectedItems”]=null; } ...................................... } 我尝试了所有这些(TempData、ViewData和ViewBag)。没有什么变化


如何将该列表从一个操作传递到另一个视图,然后从该视图传递到另一个方法?

创建一个视图模型,在该视图模型中设置您现在使用的模型作为字段,并为该列表添加一个额外字段

是的,我看不到其他方法。我找不到任何办法,就这样做。我找到了解决办法。首先,我将int list转换为字符串list,格式为“1,2,8”,然后url:@url.Action(“GetTreeData”、“MyController”、new{param=stringList}),
 public string GetTreeData()
        {
           List<int> selecteds = null;
           if (TempData["SelectedItems"] != null)
            {
                selecteds = TempData["SelectedItems"] as List<int>;
                TempData["SelectedItems"] = null;
            }
            ......................................
        }