MVC Controller 基類 BaseController 中的 Request


今天修復mvc中的一個bug,需求是每個頁面要獲取當前URL鏈接中 host首是否正確,我把獲取url的方法寫到了Controller的基類BaseController(BaseController繼承自Controller),所以在mvc中寫了下面的代碼。

public class HomeController : BaseController 
{
......
}
 
public class BaseController : Controller
{
        public BaseController ()
        {
                if (Request==null ) //Request的值始終為null
                {
                    ......
                }
        }
}

解決辦法:

public class BaseController : Controller
{

// 在調用操作方法前調用。
  protected override void OnActionExecuting(ActionExecutingContext ctx)
        {
            base.OnActionExecuting(ctx);
                    if (Request == null)
                    {
                             ......
                    }
        }

// 在調用操作方法后調用。
   protected override void OnActionExecuted(ActionExecutedContext ctx)
       {
            base.OnActionExecuted(ctx);
                        if (Request==null )
                        {
                            ......
                        }
        }
}

根據需要選擇。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM