asp.net4.0 アプリケーションにルーティング機能を実装し、指定されたリンクをたどります。
アプリケーションが no を制限している場合、これは問題ありません。ページ数ですが、私のアプリケーションにはたくさんのページがあります。だから私はコードを書く必要があります [ routes.MapPageRoute("","",""); ] 何度も。コレクションクラスをループするか、他の方法ですべてのページをマップできますか。
ありがとう
asp.net4.0 アプリケーションにルーティング機能を実装し、指定されたリンクをたどります。
アプリケーションが no を制限している場合、これは問題ありません。ページ数ですが、私のアプリケーションにはたくさんのページがあります。だから私はコードを書く必要があります [ routes.MapPageRoute("","",""); ] 何度も。コレクションクラスをループするか、他の方法ですべてのページをマップできますか。
ありがとう
URL とファイル構造に標準パターンがある場合は、マップされた URL でもプレースホルダーを使用できます。
例えば。すべての「{controller}/{action}/{id}」を「/Pages/{controler}/{action}.aspx」にマッピングできる場合
たとえば、このフォルダー構造を持つサイトを構築します
ルート フォルダーの下には、すべてのページが存在する Views フォルダーがあります。Views フォルダーの下には、「コントローラー」ごとに 1 つのサブフォルダーがあります (Web フォームにはコントローラーはありませんが、ここでは MVC 規則に従います) コントローラーのサブフォルダーの下には、さまざまなアクションを表す aspx ページがあります。
aspx ページ名は各コントローラーで同じです ("Index.aspx"、"Add.aspx"、"Edit.aspx" など)。
だから私は一般的なマッピングルールを持つことができます
routes.MapPageRoute("GeneralAction", "{controler}/{action}/{id}", "~/Views/{controler}/{action}.aspx");
フォルダ構造がこのパターンに従っている限り、ページごとに異なるルールは必要ありません
今
"/Patient/Add" will map to "~/Views/Patient/Add.aspx"
"/Incident/Add" will map to "~/Views/Incident/Add.aspx"
"/Patient/Edit/31" will map to "~/Views/Patient/Edit.aspx" (with id=31)
など、すべて上記のこの 1 つのルールに一致します。
もちろん、このルールをオーバーライドしたい場合は、これを定義する前により具体的なルートを定義できます。