3

複数のブログをサポートするMVCブログエンジンを作成する予定です。ブログを作成するとき、ユーザーは自分のブログにアクセスするパスを選択することができます。例えばブログエンジンのデータベースに格納されている動的/編集可能なMVCルート

/ブログ/ firstBlog/

/newprojects/secondBlog/

/fooの/バー/ thirdblog/

このルート情報でしょうデータベースに格納することができます。 Global.asax.csで静的に宣言されたルートだけを使用するMVCの代わりに、まずデータベースからルートを読みたいと思います。それから何も見つからなければ、Global.asax.csで宣言されたルートをフォールバックします。これは可能ですか?はいの場合は、それを達成するために何を提案しますか?

おかげ

答えて

1

私は通常どおりデフォルトルートを宣言して、データベースを読み、同じメソッドを呼び出すのではなく、ハードコードされた文字列を渡すよりも、データベースから値を渡したい:

foreach(RouteDetails routeDetails in routesFromDatabase) 
{ 
    routes.MapRoute(
     routeDetails.Name,            
     routeDetails.Route, 
     routeDetails.Defaults); 
} 

テーブルを適切にマップし、Defaults辞書(おそらく最も複雑なもの)を含む想像されたオブジェクト 'RouteDetails'のフィールドに値を設定する必要があります。

あなたがここで例のカップルを見つけることができます:

関連する問題