Sprechen wir über die grundlegenden Routing--Regelprinzipien. Die grundlegenden Routing-Regeln stammen von Special In der allgemeinen Anordnung stehen die speziellsten (nicht zum Mainstream gehörenden) Regeln am Anfang und die allgemeinsten (Allzweck-)Regeln am Ende. Dies liegt daran, dass die passenden Routing-Regeln ebenfalls in dieser Reihenfolge stehen, also selbst wenn Sie schreiben sie in umgekehrter Reihenfolge. Sie können immer noch auf 404 warten.
XD Lassen Sie uns zunächst über die Struktur der URL sprechen >
Persönlich denke ich, dass das erste einfacher zu verstehen ist , die zweite ist einfacher zu debuggen und die dritte ist effizienter zu schreiben. Dieser Artikel bevorzugt den dritten Typ 🎜> 1. Standard-Routing (
MVC
wird mitgeliefert
Bild ist nicht gepostet Der Titel wird als DefaultId angezeigt. Beachten Sie, dass der Wert im
Controller
Dies ist deutlich zu erkennen indem wir dem Titel mit viewbag einen Wert zuweisenLassen Sie uns noch einmal über die Standardroute sprechen und geben Sie dann die Standardroute zurück. Dies wird als optionales URL-Segment bezeichnet Es gibt keinen solchen Parameter in der Route, die ID ist null
. Laut Originaltext kann dieses optionale URL-Segment verwendet werden, um eine Trennung von Bedenken zu erreichen Nach meinem Verständnis werden die tatsächlichen Parameter vom Benutzer gesendet, und wir definieren lediglich den formalen Parameternamen. Wenn Sie jedoch darauf bestehen, den Parametern Standardwerte zuzuweisen wird empfohlen. Syntaktischer Zucker wird in den Aktionsparameter geschrieben:
5.
6. Namespace-übergreifendes Routing
Das erinnert mich daran, den Namespace anzugeben und die IIS-Website zu öffnen, sonst wird es 404 sein. Das ist sehr untypisch und es ist nicht empfehlenswert, sich damit herumzuschlagen.
Array
in keiner bestimmten Reihenfolge eingestuft. Wenn es mehrere übereinstimmende Routen gibt, wird ein Fehler gemeldet. Dann schlug der Autor eine verbesserte Schreibmethode vor.
7.Regulärer AusdruckMatch-Route
muss zuerst die Route in der Routenregistrierungsmethode
registrieren
Auf diese Weise ist die Routenfunktion wirksam. Es gibt auch Routing-Einschränkungen, Reihenfolge, Routennamen usw.
Andere umfassen Routenpräfixe und Routenstandardwerte
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Einschränkung | Beschreibung | Beispiel | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
alpha | Entspricht Groß- oder Kleinbuchstaben des lateinischen Alphabets (a-z, A-Z) | {x:alpha} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
bool | Entspricht einem booleschen Wert. | {x:bool | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
datetime | Entspricht einem DateTime-Wert. | {x:datetime} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
decimal | Entspricht einem Dezimalwert. | {x:decimal} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
double | Entspricht einem 64-Bit-Gleitkommawert. | {x:double} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
float | Entspricht einem 32-Bit-Gleitkommawert. | {x:float} | tr>||||||||||||||||||||||||||||||||||||||||||||||||||||||
guid | Entspricht einem GUID-Wert. | {x:guid} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
int td> | Entspricht einem 32-Bit-Ganzzahlwert. | {x:int} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
length | Entspricht einer Zeichenfolge mit der angegebenen Länge oder innerhalb eines angegebenen Längenbereichs. | {x:length(6)} {x:length(1,20)} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
long | Entspricht einem 64-Bit-Ganzzahlwert. | {x:long} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
max | Entspricht einer Ganzzahl mit einem Maximalwert. | {x:max(10) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
maxlength | Entspricht einer Zeichenfolge mit eine maximale Länge. | {x:maxlength(10) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
min | Entspricht einer Ganzzahl mit einem Mindestwert. | {x:min(10) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
minlength | Entspricht einer Zeichenfolge mit einer Mindestlänge. | {x:minlength(10)} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
range | Entspricht einer Ganzzahl innerhalb eines Wertebereichs. | {x: range(10,50) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
regex | Entspricht einem regulären Ausdruck. | {x:regex(^d{3 }-d{3}-d{4}$)} |
把这个节点里的preCondition删除,变成浏览网站,以开启 IIS UrlRoutingModule节点
IgnoreRoute – RouteCollection – StopRoutingHandler匹配的话, 后面的规则都无效了。 这也就是默认的路由里面routes.IgnoreRoute("{ resources}.axd/{*pathInfo}");写最前面的原因.
最后还是再推荐一下Adam Freeman写的apress.pro.asp.net.mvc.4这本书.稍微熟悉MVC的从第二部分开始读好了。前面都是入门(对我来说是扯淡). ,然后标题起个深入解析XXXX,然后净瞎扯淡。最后一千多页的巨著又诞生了.Adam Freeman的风格我就很喜欢, 都是实例写作, 然后还在那边书里面专门写了大量的测试.
哎没办法啊,技术差距就是这样了。
Das obige ist der detaillierte Inhalt vonASP.NET MVC-Routing-Konfiguration (detaillierte Grafik- und Texterklärung). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!