ホームページ > バックエンド開発 > C#.Net チュートリアル > ASP.NET MVC ルーティング構成 (詳細なグラフィックとテキストの説明)

ASP.NET MVC ルーティング構成 (詳細なグラフィックとテキストの説明)

怪我咯
リリース: 2017-03-30 11:48:37
オリジナル
1842 人が閲覧しました

基本的な ルーティング ルールの原則について話しましょう。基本的なルーティング ルールは、特別なものから一般的なものまで整理されています。特別な (非主流の) ルールが先頭にあり、最も一般的な (万能の) ルールが最後にあります。これは、ルーティングを記述する場合、一致するルーティング ルールもこの順序になるためです。 404.

XD 最初に URL 構造について説明します。実際、これは単なる文法上の機能です。

ASP.NET MVC ルーティング構成 (詳細なグラフィックとテキストの説明)


匿名

オブジェクト


ルートの構築 次に、


直接

メソッドのオーバーロード

+匿名オブジェクト
を追加します。 3 番目の方法は、この記事で必要なものを選択してください。


1. デフォルトのルーティング (
MVC

が付属しています)

プレースホルダールーティングを使用しない場合は、ハードコーディングされています。


このように書いて http://localhost:XXX/Shop/OldAction.js にアクセスすると、3 つの予約語を設定しなくても応答は問題ありません。 3. 通常の変数 URL セグメントを定義します (まあ、この翻訳ではあなたの IQ が露呈します)

結果として、タイトルが DefaultId として表示されることに注意してください。

controller
で値を割り当てる必要があります。

view

での値の割り当てはコンパイルできません。
この場合、/Home/Indexにアクセスすると、3番目のセグメント(id)には値がないため、このパラメータは次のようになります。ルーティング ルールに従って DefaultId に設定します


これは、viewbag を使用してタイトルに値を割り当てると明確にわかります

4. デフォルト ルートを確認してから、デフォルト ルートに戻ります。 Optional は、オプションの URL セグメントと呼ばれます。ルートにそのようなパラメーターがない場合、このオプションの URL セグメントは、元のテキストに従って、懸念事項の分離を実現するために使用されます。私の理解によれば、ルートにパラメータのデフォルト値を直接設定するのはあまり良くありません。実際のパラメータはユーザーによって送信され、デフォルト値を割り当てる場合は、正式なパラメータ名を定義するだけです。パラメーターを使用する場合は、構文シュガーを使用してアクションパラメーターに書き込むことをお勧めします。 5. 可変長ルーティング ここでは、ID と最後の段落は両方とも可変であるため、/Home/Index.は、/Home/Index//abcdefdjldfiaeahfoeiho と同等です。 は、/Home/Index/All/Delete/Perm/... と同等です


6. クロスネームスペースルーティング

これは、ネームスペースを忘れずに引用するためのリマインダーです。 IIS Web サイトを開くと、404 になります。これは非常に非主流なので、いじることはお勧めできません。



このように、最初の URL セグメントが Home でない場合、処理のために 2 番目の URL セグメントに渡されます。最後に、このルートが見つからない場合は出発しないように設定することもできます。後続のルートへのルートが表示されます。これ以上のルートはありません。

しかし、このように書くと、

配列

は順不同でランク付けされ、一致するルートが複数ある場合、エラーが報告されます。 そこで著者は改良された書き方を提案した。


7.


正規表現
ルートを一致させる

複数のURLを制限する8. リクエストメソッドを指定する

9. Webフォームのサポート

を参照してください。 ASPを使用する.Net4 の新機能ルーティングは、WebForm アプリケーション または公式 msdn

10 を作成します。ルート機能が有効になるように、最初に MVC5 の RouteAttribute

をルート登録メソッド


に登録する必要があります。また、ルーティング制約、順序、ルーティング名などもあります
その他には、ルーティング プレフィックスやルーティングのデフォルト値も含まれます


路由构造


パラメータ制限




制約 説明
alpha 大文字または小文字のラテンアルファベット文字 (a ~ z、A ~ Z) と一致します。 ) {x:alpha}
bool ブール値と一致します。 {x:bool}
datetime DateTime 値と一致します。 {x:datetime}
10 進数 10 進数値と一致します。 {x:decmal}
double 64 ビット浮動小数点値と一致します。 {x:double}
float 32- と一致します。ビット浮動小数点値。 {x:float}
guid GUID 値と一致します。 {x:guid}
int 32 ビット整数値と一致します。 { x:int}
length 指定された長さまたは指定された長さの範囲内の文字列と一致します。 {x:length(6)} {x:length(1,20)}
long 64 ビット整数値と一致します。 {x:long}
max 最大値を持つ整数値と一致します。 {x:max(10)}
maxlength 最大長の文字列と一致します。 {x:maxlength(10)}
min 最小値の整数と一致します。 {x:min(10)}
minlength 最小の長さの文字列と一致します。 {x:minlength(10)}
range 値の範囲内の整数と一致します。 {x:range(10,50)}
regex 正規表現と一致します。 {x:regex(^d{3}-d{3}-d{4}$)}

具体的な参考情報

ASP.NET の属性ルーティングMvc5

对对我、这样、这样这样的好处是了路由规则的有有有人、我集中喜欢集中集中我喜欢这的的的因为アクションのルート規則


11. 最後に、これも問題のない自己書き込みタイプの IRouteConstraint の適合メソッドです。



この节点里のpreCondition删除、变成浏览网站、开启IIS Express,その後点表示すべてのアプリケーションプログラム-点击网站名-構成(applicationhost.config)-検索UrlRお出かけモジュールノード

13. ルート ソースを直接アクセスし、システム


ファイル名も {filename} で占有することができます。例。このハンドラーがハードコードで認識されます。この規則が一致する場合、後続の規則は無効になります。



ルート経由検査 (検査対象ベース上で、moq が必要です)


最後にまた、Adam Freeman 著の apress.pro.asp.net.mvc.4 この本。前の部分はすべて入っています(私にとっては淡いです)。最後に、アダム・フリーマンの偉大な著作が完成しました。大量の検査。

以上がASP.NET MVC ルーティング構成 (詳細なグラフィックとテキストの説明)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート