在MVC 2中传递数据时,从控制器重定向到另一个控制器时未传递的值

时间:2011-01-15 04:35:24

标签: asp.net-mvc asp.net-mvc-2

是否可以将数据从一个控制器传递到另一个控制器?调用第二个控制器时,int id显示错误值:

我有一个控制器:

public ActionResult Index(int id)
{
  return RedirectToAction("New", "NewProducts", id);
}

NewProductsController:

public string New(int id)//    <--------id never has correct number when called
{

  return "value: " + id;

}

2 个答案:

答案 0 :(得分:1)

您需要使用RouteValueDictionary或具有id属性的匿名类型作为路由值,否则它将使用Int32对象id上的属性来填充路由值字典。

public ActionResult Index(int id)
{
  return RedirectToAction("New", "NewProducts", new { id = id } );
}

答案 1 :(得分:0)

希望它能发挥作用

公共ActionResult索引(int id)
{
  return RedirectToAction(“New?id =”+ id,“NewProducts”);
}