


ASP.NET MVC-Routing-Konfiguration (detaillierte Grafik- und Texterklärung)
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 >
URL-Konstruktion
Benannte Parameterspezifikation + anonym
Objekt
Route erstellen und dann
direkt hinzufügen
Methodenüberladung + anonymes Objekt
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
Ohne Platzhalter-Routing ist es fertig Schreiben Sie es beispielsweise so und greifen Sie dann auf http://localhost: Variablen.
Bild ist nicht gepostet Der Titel wird als DefaultId angezeigt. Beachten Sie, dass der Wert im
Controller
Ansicht
nicht kompiliert werden kann Zugriff auf /Home/Index, da das dritte Segment (ID) keinen Wert hat, wird dieser Parameter gemäß den Routing-Regeln auf DefaultId gesetzt
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.
Hier sind sowohl die ID als auch das letzte Segment variabel, sodass /Home/Index/dabdafdaf äquivalent zu /Home/Index//abcdefdjldfiaeahfoeiho ist äquivalent zu /Home/Index/All/Delete/Perm/ . ...
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.
Wenn das erste URL-Segment nicht Home ist, wird es schließlich zur Verarbeitung an das zweite übergeben Stellen Sie diese Route auch so ein, dass sie nicht gefunden wird, wenn sie nicht gefunden wird. Lassen Sie einen Ausweg für die folgenden Routen, damit Sie nicht weiter nach unten suchen müssen.
Aber wenn es so geschrieben wird, wird das 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
Einschränkung Mehrere URLs 8. Geben Sie die Anforderungsmethode an 9. WebForm unterstützt
für Details, siehe
Verwendung Asp .Net4 neue Funktion Routing erstellt WebForm-Anwendung
oder offizielles MSDN
10. MVC5s RouteAttribute
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}$)} |
具体的可以参考
Attributrouting in ASP.NET MVC 5种灵活的处理.因为这个action定义好后,我不需要跑到配置那里定义对应的路由规则
11.最后还是不爽的话自己写个类实现法。
12.访问本地文档比如这个就用来匹配是否是用谷歌浏览器访问网页的.
把这个节点里的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!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

In C wird der Zeichenentyp in Saiten verwendet: 1. Speichern Sie ein einzelnes Zeichen; 2. Verwenden Sie ein Array, um eine Zeichenfolge darzustellen und mit einem Null -Terminator zu enden. 3. Durch eine Saitenbetriebsfunktion arbeiten; 4. Lesen oder geben Sie eine Zeichenfolge von der Tastatur aus.

Die Nutzungsmethoden von Symbolen in der C-Sprachabdeckung Arithmetik, Zuordnung, Bedingungen, Logik, Bitoperatoren usw. werden für grundlegende mathematische Operationen verwendet, Zuordnungsoperatoren werden zur Zuordnung und Addition verwendet, Subtraktion, Multiplikationszuordnung und Abteilungszuweisung, Zustandsbetreiber werden für Unterschiede verwendet. Logische Operationen werden verwendet. Logische Operationen werden verwendet. Logische Operationen werden verwendet. Zeiger, Markierungen am Ende der Datei und nicht numerische Werte.

In der C -Sprache werden Sonderzeichen durch Escape -Sequenzen verarbeitet, wie z. B.: \ n repräsentiert Linienbrüche. \ t bedeutet tab charakter. Verwenden Sie Escape -Sequenzen oder Zeichenkonstanten, um Sonderzeichen darzustellen, wie z. B. char c = '\ n'. Beachten Sie, dass der Backslash zweimal entkommen muss. Verschiedene Plattformen und Compiler haben möglicherweise unterschiedliche Fluchtsequenzen. Bitte wenden Sie sich an die Dokumentation.

Der Unterschied zwischen Multithreading und Asynchron besteht darin, dass Multithreading gleichzeitig mehrere Threads ausführt, während asynchron Operationen ausführt, ohne den aktuellen Thread zu blockieren. Multithreading wird für rechenintensive Aufgaben verwendet, während asynchron für die Benutzerinteraktion verwendet wird. Der Vorteil des Multi-Threading besteht darin, die Rechenleistung zu verbessern, während der Vorteil von Asynchron nicht darin besteht, UI-Threads zu blockieren. Die Auswahl von Multithreading oder Asynchron ist von der Art der Aufgabe abhängt: Berechnungsintensive Aufgaben verwenden Multithreading, Aufgaben, die mit externen Ressourcen interagieren und die UI-Reaktionsfähigkeit asynchron verwenden müssen.

In der C -Sprache ist der Hauptunterschied zwischen char und wchar_t die Zeichencodierung: char verwendet ASCII oder erweitert ASCII, wchar_t Unicode; char nimmt 1-2 Bytes auf, wchar_t nimmt 2-4 Bytes auf; char ist für englischen Text geeignet. Wchar_t ist für mehrsprachige Text geeignet. char ist weithin unterstützt, wchar_t hängt davon ab, ob der Compiler und das Betriebssystem Unicode unterstützen. char ist in der Charakterbereich begrenzt, WCHAR_T hat einen größeren Charakterbereich und spezielle Funktionen werden für arithmetische Operationen verwendet.

In der C -Sprache kann die char -Typ -Konvertierung direkt in einen anderen Typ konvertiert werden, wenn: Casting: Verwenden von Casting -Zeichen. Automatische Konvertierung des Typs: Wenn ein Datentyp einen anderen Werttyp berücksichtigen kann, wandelt der Compiler diese automatisch um.

Es gibt keine integrierte Summenfunktion in der C-Sprache, daher muss sie selbst geschrieben werden. Die Summe kann erreicht werden, indem das Array durchquert und Elemente akkumulieren: Schleifenversion: Die Summe wird für die Schleifen- und Arraylänge berechnet. Zeigerversion: Verwenden Sie Zeiger, um auf Array-Elemente zu verweisen, und eine effiziente Summierung wird durch Selbststillstandszeiger erzielt. Dynamisch Array -Array -Version zuweisen: Zuordnen Sie Arrays dynamisch und verwalten Sie selbst den Speicher selbst, um sicherzustellen, dass der zugewiesene Speicher befreit wird, um Speicherlecks zu verhindern.

Das Char -Array speichert Zeichensequenzen in der C -Sprache und wird als char Array_name [Größe] deklariert. Das Zugriffselement wird durch den Einweisoperator weitergeleitet, und das Element endet mit dem Null -Terminator '\ 0', der den Endpunkt der Zeichenfolge darstellt. Die C -Sprache bietet eine Vielzahl von String -Manipulationsfunktionen wie Strlen (), Strcpy (), Strcat () und strcmp ().
