【问题标题】:Why does the previous page link appears in my address bar in MVC3 Razor application?为什么在 MVC3 Razor 应用程序的地址栏中会出现上一页链接?
【发布时间】:2012-04-02 09:37:05
【问题描述】:

我正在使用 MVC3/Razor。但是我不明白为什么我redirecToAction时会出现上一页的url。

场景:一旦用户从主页单击“帐户/注册”等注册,他将获得 RedirectToAction(“AcceptCondition”),因此一旦用户接受条件并发布,用户将获得 RedirectToAction(“注册” )我将检查他是否来自“AcceptCondition”页面,然后他可以继续,否则用户将返回“AcceptCondition”页面。因此,当我将用户从注册页面重定向到 AcceptCondition 页面时,地址栏中的 url 显示为“http://localhost:55104/Account/Signup”而不是“http://localhost:55104/Account/AcceptCondition”

我知道当他点击注册时我可以将用户直接发送到“Account/AcceptCondition”,但我只是按照上面的场景。

public ActionResult Signup(string ru)
{
    if ((ru == "/Account/AcceptCondition") || (ru == "/Account/Signup"))
    {
        return View();
    }
    else
    {
        return RedirectToAction("AcceptCondition");
    }
}

[HttpGet]
public ActionResult AcceptCondition()
{
    return View();
}

[HttpPost]
public ActionResult AcceptCondition(AcceptConditionViewModel acceptCondiViewModel)
{
    if (acceptCondiViewModel.TermAndCondi == true)
    {
        return RedirectToAction("Signup",  
                                "Account", 
                                new { ru = "/Account/AcceptCondition" });
    }
    else
    {
        return View();
    }
}

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-3 c#-4.0 razor routing


    【解决方案1】:
    1. Signup GET 检查引用,如果不是 AcceptCondition,则重定向到 AcceptCondition 如果是 AcceptCondition,则呈现正常的注册视图。

    2. AcceptCondition GET 呈现 AcceptCondition 视图

    3. AcceptCondition POST 执行 RedirectToAction("SIGNUP")
    4. Signup POST 创建用户(假设)然后执行?

    听起来推荐人检查不正确,所以 /account/signup 再次呈现? 你的代码是什么样子的。

    【讨论】:

    • 检查现在修改的问题。
    • 嗨,亚当,您有什么可以帮我的吗?请检查我的代码。
    • 你是说“return RedirectToAction("AcceptCondition");”不工作,对吧?在那里设置断点。确保 /views/account 文件夹中的“AcceptCondition.cshtml”视图存在
    【解决方案2】:

    您似乎在第一个函数中传递了“returnUrl”参数,但在函数体和第三个函数的 RedrectToAction 调用中都将其引用为“ru”。确保您与参数名称保持一致,因为这可能是错误逻辑和错误/无效重定向的原因。

    【讨论】:

    • 请检查我添加的代码。如果你能帮我解决这个问题。
    • 另一个建议是在您的第一个函数中放置一个断点,并实际查看 ru 变量的值。确保您的代码遵循您提出的逻辑。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-06
    • 2020-12-04
    • 2013-03-25
    • 1970-01-01
    • 2018-11-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多