熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

ASP.NET MVC 4框架揭秘:CBuilder(3)[2]

2013-11-13 12:31:49  來源: .NET編程 

  namespaceMvcAppAreasControllers

  {

  public class HomeController : Controller

  {

  public void Index()

  {

  ResponseWrite(stringFormat(UseNamespaceFallback: {}<br/>

  RouteDataDataTokens[UseNamespaceFallback]))

  ResponseWrite(stringFormat(Controller Type: {}<br/>

  thisGetType()FullName))

  }

  }

  }

  現在我們在浏覽器中通過匹配的URL(/Admin/Home/Index)來訪問Area為Admin的HomeController的Index操作會得到如圖所示的HTTP狀態為Not Found的錯誤這就是因為在對Controller類型進行解析的時候是嚴格按照對應的AreaRegistration所在的命名空間來進行的很顯然在這個范圍內是不可能找得到對應的Controller類型的(S

  圖  Controller和AreaRegistration命名空間不匹配導致的錯誤

  但是如果我們去掉AdminAreaRegistration的命名空間那麼將會導致路由變量UseNamespaceFallback的值變為True這會促使Controller激活系統選擇後備的命名空間由於整個Web應用中僅僅定義了唯一匹配的MvcAppAreasControllersHomeController很顯然這個Controller會被激活如圖所示的程序運行結果也說明了這一點(S

  圖  去掉AdminAreaRegistration命名空間以采用後備命名空間

       返回目錄ASPNET MVC 框架揭秘

       編輯推薦

       ASP NET開發培訓視頻教程

       Microsoft NET框架程序設計視頻教程

       Java程序性能優化讓你的Java程序更快更穩定

       Visual C++音頻/視頻技術開發與實戰

[]  []  


From:http://tw.wingwit.com/Article/program/net/201311/16089.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.