今天在測試自己MVC程序的時候發現之前寫代碼的一個BUG,需求是每個頁面要獲取當前URL鏈接中包含的城市ID,我把獲取url的方法寫到了Controller的基類BaseController(BaseController繼承自Controller),之前寫習慣了webForm所以在mvc中寫了下面的代碼。
public class HomeController : BaseController { ...... } public class BaseController : Controller { public BaseController () { if (Request==null ) //Request的值始終為null { ...... } } }
解決辦法:
public class BaseController : Controller { protected override void OnActionExecuted(ActionExecutedContext ctx) { base.OnActionExecuted(ctx); if (Request==null ) { ...... } } }