ASP.NET 4 Routestableから特定のルートを削除します
-
09-10-2019 - |
質問
私のサイトには多くのルートがあります。ユーザーは自由にページを追加または削除できるため、ルートを時々再登録する方法が必要です
Reeregisterでは、ルートキャッシュ全体( "rootetable.routes.clear")全体をクリアしたくありませんが、ルートごとにテーブルルートを通過し、その名前で特定の正規表現を使用して、削除するかどうかを決定します。 。
その後、私は必要な特定のページを再登録します
一方、私のコードがここにあります
For Each r In RouteTable.Routes
If CType(r, Route).DataTokens("ConfigID") = ConfigID Then RouteTable.Routes.Remove(r)
Next
最初の削除の後、「コレクションが変更されました。列挙操作は実行されない場合があります。」エラーがスローされます。
ご助力ありがとうございます!!
解決
名前はルートのプロパティではないため、ルートのルート名を取得することはできません。ルートセーブルにルートを追加すると、名前はルートの内部インデックスとして使用され、露出していません。
これを行う方法は1つあります。
- ルートを登録するときは、ルート名でルート上にデータタコーンを設定し、それを使用してルートをフィルタリングします。
#1を実行する最も簡単な方法は、おそらくルートをマッピングするための独自の拡張機能を記述することです。
所属していません StackOverflow