在我的客户详细信息页面中,我有一个按钮来编辑重定向到编辑页面的客户端记录。我在编辑页面上有一个“返回客户端详细信息”链接,我想将用户重定向回以前的客户端详细信息页面。
<a asp-controller="Client" asp-action="Detail" asp-route-id="@Model.ClientID">Return to client detail</a>
目前这可以按预期工作,但从头开始重新加载详细信息页面(即再次运行所有各种数据库查询)需要额外的时间。由于用户实际上只是在不更改客户端状态的情况下取消编辑,因此我希望将用户返回到上一个详细信息页面,而无需再次执行控制器操作。
基本上我想模拟浏览器后退按钮(以提高响应能力),但我不确定如何实现这个或者是否这样做是好的做法。一些指导意见将不胜感激。
由于
答案 0 :(得分:9)
您可以使用
<a href='javascript:history.go(-1)'>Return to client detail</a>
或onclick
<a href="##" onClick="history.go(-1); return false;"> Return to client detail</a>
答案 1 :(得分:7)
在动作控制器中
if(Request.Headers["Referer"] != null)
{
ViewData["Reffer"] = Request.Headers["Referer"].ToString();
}
在视野中(剃刀)
@if(!string.IsNullOrWhiteSpace(ViewData["Reffer"]))
{
<a href="@ViewData["Reffer"]">Return to client detail</a>
}
答案 2 :(得分:3)
对于IActionResult
,您可以使用以下代码:
public IActionResult Test()
{
return Redirect(Request.Headers["Referer"].ToString());
}
答案 3 :(得分:0)
应该是这样的
<input type="button" onclick= "history.go(-1)" value="Return to client detail" />
答案 4 :(得分:0)
我认为你需要摆脱通过控制器的想法。如果您需要使用关于href的asp net核心代码快速浏览,可以试试这个。
<a asp-area="" onclick="history.go(-1);">Return to client detail</a>
答案 5 :(得分:0)
使用 Request.Headers["Referer"] 的注意事项 - 如果有人出于某种原因刷新目标页面,Request.Headers["Referer"] 将为空。 尽管页面刷新,但使用 history.go(-1) 仍可提供预期的行为。