2

MVC アプリケーションの RouteConfig でルーティングを変更できることはわかっています。

routes.MapRoute(name: "epage", url: "view/SpecificURL", defaults: new {
    controller = "ePage",
    action = "Index"
})

しかし、データベースからの値をリダイレクトする方法を知りたいです。私のデータベースには titles を持つ行が 1 つあります。したがって、データベースからのタイトルごとに、特定の URL ex にリダイレクトしたいと考えています。

データベースのタイトルは"pink" I want www.mydomain.com/pink to be rerouted to a specific url かもしれません。リダイレクト先の URL もデータベースにあります。これに関する多くの質問を調べましたが、URL のルーティングを動的に変更するものを見つけることができないようです

4

1 に答える 1

0

次のようにルートを設定できます。

routes.MapRoute(name: "Default",
    url: "{id}",
    defaults: new { controller = "Home", action = "Index" });

次に、コントローラー(私の場合は HomeController )で:

public ActionResult Index(string id)
{
    ContentResult cr = new ContentResult();
    // Do a DB lookup here to get the data you need from the database to generate the appropriate content.
    cr.Content = id;
    return cr;
}

この例では、送信された文字列を返すだけです。したがって、ブラウズするhttp://localhost/mysite/pinkと、結果として「ピンク」が返されます。このメソッドを簡単に使用して、カスタム データベースを検索し、返す正しいコンテンツを決定できます。

既存のルートでこのルートを使用できない場合:)、いつでもRegisterRoutesメソッドで SQL クエリを実行し、そこからルート テーブルにデータを入力できます。

于 2013-01-17T02:51:44.037 に答える