Asp.net mvc ist normalerweise
Controller/Aktion/Parameter
Adressformular
Aber meistens ist die Website-Adresse kein solcher Pfad
Zum Beispiel:
xxxx.com/asp.net/
xxxx.com/asp.net/mvc/
xxxx.com/asp.net/webform/
xxxx.com/asp.net/ado.net/
xxxx.com/javascript/
xxxx.com/javascript/jquery/
xxxx.com/javascript/angularjs/
xxxx.com/javascript/jichu/
xxxx.com/jiaoyu/
Derzeit liegt die Adresse nicht in der Form Controller/Aktion/Parameter vor
Ich weiß nicht, wie man einen solchen Pfad in asp.net mvc zuordnet? ? ?
这个要看你的路由规则如何定义以及路由的定义顺序。
假如这个请求进入到ASP.NET管道模型中,它就会去到预先定义的路由中去执行匹配,遇到第一个匹配的路由,就直接将这个路由结果返回了。
比如默认的路由的第一个路由规则是:
xxxx.com/asp.net/ 将匹配这条路由规则,controller="asp.net",action="Login";
xxxx.com/asp.net/mvc/ 也将匹配这条路由规则,controller="asp.net",action="mvc";
假如说你另外定义了一条路由规则,而且这条路由规则在刚才那条路由规则前面:
xxxx.com/asp.net/ 将匹配这条路由规则,controller="User",action="Link";
但是xxxx.com/cast/将不匹配第一条路由规则,而继续用第二条路由规则匹配,这时就会匹配成功,controller="cast", action="Login"
建议可以看下《精通ASP.NET MVC3框架》这本书,第11章路由规则有该问题的分析介绍。