從一些操作方法中,我想返回一個將強制刷新當前頁面的結果。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);會做的伎倆,無需創建一個新的類,這是我的觀點 –