9

ハイフンを使用してasp.net mvcアクション名を取得する方法、たとえば、ホームコントローラーのアクション名はwww.domain.com/about-usどこにありますか。about-usこのアプローチによりcontact-ushow-to、 などのアクション名を持つことができます。

4

4 に答える 4

10

.Net MVC 5 プロジェクトの問題に対する完全な解決策は次のとおりです。

  1. プロジェクトのApp_Start/RouteConfig.csファイルを開きます。

  2. RegisterRouteメソッドで、次のようにコードを変更します。

    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.MapMvcAttributeRoutes(); // <--- add this line to enable custom attribute routes
    
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
    
        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        );
    }
    
  3. 次に、コントローラー ファイルを開き、以下に示すように、アクションの上部にカスタム ルートの定義を追加します。

    [Route("about-us")]
    public ActionResult AboutUs()
    {
        return View();
    }
    

カスタム ルートを次のように使用できるようになります。

http://yourdomain.com/about-us
于 2015-10-20T16:27:47.463 に答える
0

MVC5 では、属性ルートも設定できます。

    [Route("about-us")]
    public ActionResult AboutUs()
    {
        return View();
    }
于 2015-06-16T13:32:07.047 に答える
0

ファイルではAreaRegistration.cs、次のようにルート テーブル エントリを追加できます.....

        context.MapRoute(
            "about_us_default",
            "about-us",
            new { action = "AboutUs" }
        );
于 2013-09-03T09:14:11.387 に答える