MVC RedirectToAction 跳转时传参问题

RedirectToAction方法提供了5个重载方法

1、单纯跳转,不带参数。

    string redirectUrl = "/List" ;
return RedirectToAction(redirectUrl);

2、碰到需要传参的需求,想取原来参数传过去

1)、刚开始简单的这样拼接;

  string redirectUrl = "/List?planid=" + Request.Params["hdplanid"];
return RedirectToAction(redirectUrl);

  

结果报错,并且浏览器中明显示乱码。

MVC RedirectToAction 跳转时传参问题

2)用 RedirectToAction 的另一个重载方法,参数直接在后面new,

      string redirectUrl = "/List" ;
return RedirectToAction(redirectUrl, new
{
planid= Request.Params["hdplanid"]
}

  

跳转成功,且参照自动拼接到url后面。

MVC RedirectToAction 跳转时传参问题

 but,下面的代码有问题,跳转时不会是:url?id=''这种形式。

    return RedirectToAction(url, new
{
id = dto.ID
});

参数不能是“id”,如果是传id,可以改个名字,否则会出现

MVC RedirectToAction 跳转时传参问题

解决方案:参数名改下。如id-->oid。

    return RedirectToAction(url, new
{
oid = dto.ID
});
上一篇:.NET 内存基础(通过内存体验类型、传参、及装箱拆箱)


下一篇:angular 跳转页面时传参