いくつかのアクションメソッドから、現在のページを強制的にリフレッシュする結果を返したいと思います。actionresult現在のページをリフレッシュする
私はそのような結果を取得するためにこれを書いた:私は単に新しいRefreshResultを返す私のアクションメソッドで
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);
}
}
を。それは機能しますが、私はそのようなアプローチの可能性のある制限が不思議です。私は顧客にそのような結果を直接返すアクションメソッドにアクセスするオプションを与えることに躊躇しているわけではないので、私は常にこのような方法で現在のページをリフレッシュできると思う。私は正しい?
私はstackoverflowの上で、この(および他の質問のカップルを)見つけ: ActionResult return to page that called it
しかし、私はこのようなアプローチの可能性の限界ではなく、「どのように」で、よりintrestedています。
ありがとう、事前
のように見えるかもしれませんか? –
実際に私はRedirectToRouteResultを使用していましたが、私はそれにルート値を提供する必要があるのが好きではありません。私はリダイレクトするURLを知る必要はありません。 – objectbox
私はあなたのコメントを理解していません。あなたのコードでは、あなたはURLにredirctを返します。RedirectResultは、新しいRedirectResult(referrer.AbsoluteUri)を返します。そのトリックは、私のポイントだったために新しいクラスを作成する必要はありません –