Asp.net mvc 在MVC4中,如何将int列表从操作传递到视图,然后从视图传递到方法?
在MVC4应用程序中的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
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;
}
......................................
}