C# 如何在MVC3中取消备用控制器的选择
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);
/*
可以删除的公约有:
namespace:system.data.entity.modelconfiguration.conventions.edm
• associationinversediscoveryconvention
寻找导航上互相引用的类的属性,并将它们配置为逆属性的相同的关系。
• complextypediscoveryconvention
寻找有没有主键的类型,并将它们配置为复杂类型。
• declaredpropertyorderingconvention
确保每个实体的主要关键属性优先于其他属性。
• foreignkeyassociationmultiplicityconvention
配置是必需的还是可选的关系基于为空性外键属性,如果包含在类定义中。
• idkeydiscoveryconvention
查找名为 id 或 <typename> id 的属性,并将他们配置作为主键。
• navigationpropertynameforeignkeydiscoveryconvention
使用外键关系,使用 <navigationproperty> <primarykeyproperty> 模式作为属性的外观。
• onetomanycascadedeleteconvention
交换机上层叠删除,所需的关系。
• onetooneconstraintintroductionconvention
将配置为一个: 一个关系的外键的主键。
• pluralizingentitysetnameconvention
配置为多元化的类型名称的实体数据模型中的实体集的名称。
• primarykeynameforeignkeydiscoveryconvention
使用外键关系,使用 <primarykeyproperty> 模式作为属性的外观。
• propertymaxlengthconvention
配置所有的字符串和字节 [] 属性,默认情况下具有最大长度。
• storegeneratedidentitykeyconvention
配置默认情况下将标识所有整数的主键。
• typenameforeignkeydiscoveryconvention
使用外键关系,使用 <principaltypename> <primarykeyproperty> 模式作为属性的外观。
*/}