- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
看起来似乎很简单,但事实并非如此-主要是由于View无法知道通过哪种方式通过Model和Controller到达那里。无论如何,这是一个需要解决的问题:
我有一个登录链接,该链接将用户带到一个表单以输入用户名和密码。当用户单击“提交”时,我想重定向到他正在查看的页面。这样做的最简单方法似乎是将当前页面的url指定为querystring(...?returnUrl=...
),其他所有内容均已构建。
但是,在呈现链接时,如何从我的 View 中找到该URL?我自然不能使用RedirectToActionResult,因为我不想实际转移用户-仅在链接中呈现url。如何?
编辑:
我现在开始悬赏这个问题,因此,我认为也可以澄清我的需求。
我的共享文件夹中有一个名为Login.ascx的UserControl。在其中,我将ActionLink呈现到登录表单,该链接包含在我的主页的页脚中。我要完成的工作如下:
呈现ActionLink时,查询字符串returnUrl
会附加,这是到当前正在呈现的 View 的路径。如果完成此操作,则用户成功登录后将使用已内置在ASP.NET MVC Framework中的功能将用户带回到他/她正在查看的页面。
前面的答案不够充分的原因主要是它们没有提供一种方法构建到当前 View 的路线url。我确实知道如何附加查询字符串,但是我不知道如何找出要放入该字符串的内容。
为了将答案标记为答案,我希望有一种方法可以从母版页中的用户控件重构到当前显示 View 的路线。
最佳答案
解决方案是像这样使用HttpContext.Current.Request.RawUrl:
<%= Html.ActionLink("log on", "LogIn", new { controller = "User", returnUrl = HttpContext.Current.Request.RawUrl }) %>
<%= Html.ActionLink<AccountController>(c => c.LogOn("name", "password", false, HttpContext.Current.Request.RawUrl), "login here")%>
关于asp.net-mvc - 如何为登录表单的链接指定返回URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/505540/
我是一名优秀的程序员,十分优秀!