質問

私のサイトには多くのルートがあります。ユーザーは自由にページを追加または削除できるため、ルートを時々再登録する方法が必要です

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. ルートを登録するときは、ルート名でルート上にデータタコーンを設定し、それを使用してルートをフィルタリングします。

#1を実行する最も簡単な方法は、おそらくルートをマッピングするための独自の拡張機能を記述することです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top