asp.net

位置:IT落伍者 >> asp.net >> 浏览文章

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


发布日期:2020年08月01日
 
ASP.NET MVC 4框架揭秘:CBuilder(3)[2]

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++音频/视频技术开发与实战

[] []

               

上一篇:ASP.NET MVC 4框架揭秘:CBuilder(3)[1]

下一篇:ASP.NET MVC 4框架揭秘:Controller的激活与URL路由[1]