0

常に1つのメソッドを使用するmaprouteを作成する可能性はありますか?それをアドレスに入れる必要はありませんか?

つまり、1 つのメソッド (インデックス) を持つコントローラーがあり、メソッドの引数に応じてアイテムが表示されます。

public ActionResult Index(string TabName)
    {
        var tab = (from t in BlogDB.Tabs
                   where t.TabName == TabName
                   select t).SingleOrDefault();

        ViewData.Model =(Tab)tab;
        return View();
    }

私が欲しいのは、タブとタブ名の間に「/Index/」を付けずにアドレス「www.example.com/Tabs/TabName」を入れてアイテムを表示できることです。私はもう試した:

    routes.MapRoute(
        "Tabs1",
        "Tabs/{TabName}",
        new { controller = "Tabs", action = "Index", TabName = UrlParameter.Optional }
    );

しかし、うまくいきません。

4

1 に答える 1

1

デフォルトルートはまだですか?はいの場合、これの前に定義されていますか?

問題は、asp.net mvc が Tabs コントローラーと Tabname アクションを見つけようとしていることです。

このルートをデフォルトの {controller}/{action} ルートの前に置きます

于 2010-08-26T14:47:40.410 に答える