欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-12-19 11:14:34
c#的mvc寻找对应的控制器首先是寻找当前域的 如果找不到就会寻找备用的.. 但是有些时候我们是不想他去寻找备用的控制器. 这里就涉及到了一个datatoken复制代...

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> 模式作为属性的外观。


*/}

上一篇:

下一篇: