C# 如何在MVC3中取消备用控制器的选择

时间:2021-05-19

C#的MVC寻找对应的控制器首先是寻找当前域的

如果找不到就会寻找备用的..

但是有些时候我们是不想他去寻找备用的控制器.

这里就涉及到了一个DataToken
复制代码 代码如下:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional }, // Parameter defaults
new string[] { "Reader.Controllers" }
);

我第一次是使用new string来区分,可惜他还是会去寻找.我翻阅了一些资料之后

发现如果要取消备用控制器需要这么写
复制代码 代码如下:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional }, // Parameter defaults
new string[] { "Reader.Controllers" }
).DataTokens["UseNamespaceFallBack"]=false;

这样我们就取消的使用备用控制器的操作了.

另外备份一下MVC的一些公约
复制代码 代码如下:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
//db.ContextOptions.LazyLoadingEnabled = false;
//db.ContextOptions.ProxyCreationEnabled = false;
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();//移除复数表名的契约
modelBuilder.Conventions.Remove<IncludeMetadataConvention>();
base.OnModelCreating(modelBuilder);
}

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章