首页 新闻 会员 周边 捐助

Js跳转代码代替RedirectToAction是否违背MVC

0
悬赏园豆:20 [已解决问题] 解决于 2009-03-24 20:01

如何用Js跳转代码代替Controller的RedirectToAction

 

 return RedirectToAction("Index", "Home");

 

这个地方 使用的原因是我需要 先执行一个 <script  src="http://外站/login.aspx"

因此执行完毕后再 js 跳转到相应页面 

 

  return JsRedirectToAction("Index", "Home");

 

    private ActionResult JsRedirectToAction(string actionName, string controlName)
        {
            ViewData["JsRedirect"] = "/" + controlName + "/" + actionName;
            return View();
        }

 

而在 Master页面包含了相应的Js

    if (ViewData["JsRedirect"]!=null)
    {
        Response.Write("<script type=\"text/javascript\" >window.location.href='" + ViewData["JsRedirect"] + "'</script>");
        Response.Flush();
        Response.End();
        ViewData["JsRedirect"] = "";
    }

rocklau的主页 rocklau | 初学一级 | 园豆:65
提问于:2009-03-24 10:04
< >
分享
最佳答案
0

不会

但是你前后台的写法有点。。。

你  ViewData["JsRedirect"] = "/" + controlName + "/" + actionName;这样

如果Routing规则改变的话,将无法适应 ,所以这里应该用Url.Action

还有就是        Response.End();你是做什么?

重典 | 老鸟四级 |园豆:2442 | 2009-03-24 14:04
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册