使用c#重定向到操作而不更改URL

时间:2015-09-08 13:40:59

标签: c# asp.net-mvc routes

有没有办法更改Action的控件并将其传递给另一个Action而不更改URL?

public virtual ActionResult Mobile(bool redirectToPc = false)
{
    if (redirectToPc)
        return RedirectToAction("Home", "PC");

    return View();
}

即使我被重定向到Action PC,我仍希望保留在www.company.com/Mobile网址中。

1 个答案:

答案 0 :(得分:0)

有可能使用URL重写,看看Scott Gu的博客帖子Tip/Trick: Url Rewriting with ASP.NET。我的想法是在操作URI时执行重定向,假装你保持在同一页面上。

示例:

if (fullOrigionalpath.Contains("/Products/Books.aspx")) {
    Context.RewritePath("/Products.aspx?Category=Books");
}

但请不要自己动手,仔细查看关于UrlRewriter.net和UrlRewriting.net的部分。