从一些操作方法中,我想返回一个将强制刷新当前页面的结果。actionresult刷新当前页面
我写了这个获得这样的结果:
public class RefreshResult : ActionResult {
public override void ExecuteResult(ControllerContext context) {
Uri referrer = context.HttpContext.Request.UrlReferrer;
if(referrer == null || string.IsNullOrEmpty(referrer.AbsoluteUri)) {
return;
}
context.HttpContext.Response.Redirect(referrer.AbsoluteUri);
}
}
在我的操作方法我干脆返回新RefreshResult。它有效,但我很好奇这种方法可能存在的局限性。我不愿意给客户一个访问直接返回这些结果的动作方法的选项,所以我认为我总是能够以这种方式刷新当前页面。我对吗?
我发现这个(和其他几个问题)上的计算器: ActionResult return to page that called it
但我在这样的方法可能存在的限制更多intrested,而不是在“如何”。
Thanx提前
为什么不干脆用RedirectResult? –
实际上我使用的是RedirectToRouteResult,但我不喜欢我需要为它提供路由值。与refreshresult我不需要知道url重定向。 – objectbox
我不明白你的意见。在你的代码中,你重定向到一个URL RedirectResult接受一个url即返回新的RedirectResult(referrer.AbsoluteUri);会做的伎俩,无需创建一个新的类,这是我的观点 –