首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重定向(Url)不重定向

重定向(Url)不重定向
EN

Stack Overflow用户
提问于 2019-04-26 16:43:09
回答 2查看 141关注 0票数 0

我在.Net MVC中有一个简单的登录屏幕。在成功登录后,我使用Redirect()方法重定向到给定的url,但是Redirect(url)不会到达任何地方,页面仍然停留在登录屏幕中。

下面的链接获得returnurl fine:@Html.ActionLink("Buy","Login","Account",new { returnUrl = Request.RawUrl })

然后,在登录屏幕中,returnUrl会显示以下url:http://localhost:1820/Account/Login?returnUrl=%2FBasket%2FGoToShopCart

未重定向的重定向(Url):

代码语言:javascript
复制
[HttpPost]
public ActionResult Login(Login l, string returnurl)
{
      RegisteredCustomer rc = new RegisteredCustomer();
      string url = "";
      Repository r = new Repository();
      var obj = r.GetUser(l);
      if (obj != null)
      {
          Session["UserID"] = obj.RegisterID.ToString();
          url = returnurl;
      }
      else
          url ="/Account/Login";
      return Redirect(url);
}`

在登录视图中,我将url传递给HttpPost方法:

代码语言:javascript
复制
`@using (Html.BeginForm("Login", "Account", new { returnUrl = Request.QueryString["ReturnUrl"] }, FormMethod.Post))
{
        @Html.Hidden("returnUrl", ViewContext.HttpContext.Request.Url.PathAndQuery)
        @Html.AntiForgeryToken()
        @Html.ValidationSummary(true)
        ...
        <input type="submit" value="Enter" />

}`

此外,它也不会重定向此url:

http://localhost:1820/Account/Login

我已经检查了这些答案,但无法帮助我:

Redirect to returnURL not working Redirect request to 'ReturnUrl' displays Login Page

EN

回答 2

Stack Overflow用户

发布于 2019-04-26 17:17:57

您可以使用return RedirectToAction("Login","Account");

票数 0
EN

Stack Overflow用户

发布于 2019-04-26 17:25:17

正如我所看到的,url需要被正确地构造。我相信来自https://stackoverflow.com/a/44837491/5770686的@NKosi的答案可以帮助你,也可以使用其他重定向方法,如RedirectToAction,RedirectToRoute等。(https://docs.microsoft.com/en-us/dotnet/api/system.web.mvc.controller.redirect?view=aspnet-mvc-5.2)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55863904

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档