[英]ASP.NET MVC redirect from attribute
我正在嘗試從方法屬性執行重定向。 它似乎工作:
public class MyAttribute: ActionFilterAttribute {
[..]
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
[..]
filterContext.HttpContext.Response.Redirect(urlToRedirectTo, true);
[..]
唯一的問題是重定向是在它附加到的方法結束后執行的,而我想重定向以防止執行該方法。
有幫助嗎? 謝謝
您可以通過將ActionResult分配給filterContext.Result來阻止執行操作方法。 例如:
filterContext.Result = new RedirectResult(urlToRedirectTo);
你需要添加
filterContext.HttpContext.Response.End();
編輯:頂部是錯的,底部是正確的
這應該工作
filterContext.Result = new RedirectResult(UrlToRedirectTo);
如果你返回一個ActionResult然后它會被動作本身執行,所以這應該跳過動作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.