obj*_*box 2 c# asp.net-mvc 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);
}
}
Run Code Online (Sandbox Code Playgroud)
在我的操作方法中,我只返回新的RefreshResult。它有效,但是我很好奇这种方法的局限性。我不愿意让客户选择直接访问返回此类结果的操作方法,因此我认为我始终能够以这种方式刷新当前页面。我对吗?
我在stackoverflow上发现了这个问题(以及其他几个问题): ActionResult返回到调用它的页面
但是我更感兴趣的是这种方法的局限性,而不是“如何做”。
提前感谢
鲁恩答案是刷新页面的一种方法。另一种是重定向回发送请求的Url,无需自己编写实现,只需在控制器中以常规操作进行即可。
该动作可能看起来像这样
public ActionResult SomeAction()
{
//do some work here...
return Redirect(Request.UrlReferrer.ToString());
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11353 次 |
| 最近记录: |