首页 新闻 会员 周边 捐助

asp.net mvc 页面跳转问题

0
悬赏园豆:5 [已解决问题] 解决于 2015-09-01 09:53

        public ActionResult PublicList(string id)
        {
            string itemcode = id;

        }

       public ActionResult SLTNot()
        {
            string url = Request.QueryString["url"].ToString();
            string newUrl = System.Web.HttpUtility.UrlDecode(url);
            Response.Redirect(newUrl);//此时newUrl是Contronller/PublicList/3
            return View();
        }

问题:先执行SLTNot,在火狐谷歌中正常跳转,但是在IE中总是显示itemcode为null,即值传递失败,id获取不到3

请问怎么解决?

问题补充:

调试的时候,newurl明明是contronller/publicList/3,但是到浏览器中时,3没了

弦断有谁听的主页 弦断有谁听 | 初学一级 | 园豆:20
提问于:2015-08-31 16:33
< >
分享
最佳答案
0

改为 contronller/publicList?id=3

收获园豆:5
meclus | 菜鸟二级 |园豆:220 | 2015-08-31 17:09

谢谢。。。如果格式就是这样的Contronller/PublicList/3,怎么解决,出现这种问题,是什么原因呢?

弦断有谁听 | 园豆:20 (初学一级) | 2015-08-31 17:25

@弦断有谁听:这样有这样的写法,不知道你试过没

稳稳的河 | 园豆:4216 (老鸟四级) | 2015-08-31 17:28

@稳稳的河: 这个是重写的路由,他上面没有用重写路由,只是路径传输不对了。

meclus | 园豆:220 (菜鸟二级) | 2015-08-31 17:33

@弦断有谁听: 默认的路由是

routes.MapRoute(
  name: "Default",
  url: "{controller}/{action}/{id}",
  defaults: new { controller = "Authentication", action = "Login", id = UrlParameter.Optional }
);

id不用管,后面的就和以前的webform参数一样传递,方法参数名=value

meclus | 园豆:220 (菜鸟二级) | 2015-08-31 17:36

@meclus: 哦,我看他是想实现contronller/publicList/3是需要重写路由,不过MVC5的这个还是挺好用的

稳稳的河 | 园豆:4216 (老鸟四级) | 2015-08-31 22:53

@meclus: 我知道原因了。我html写的有问题,原来我这样写的<a id="aRedirect" href="">XXX</a>,后台不管用什么方式跳转页面,都不成功,地址总是那个。。。把a属性href添加一个#就一切OK了。谢谢

弦断有谁听 | 园豆:20 (初学一级) | 2015-09-01 09:52

@稳稳的河: 谢谢,已解决

弦断有谁听 | 园豆:20 (初学一级) | 2015-09-01 09:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册