2017-12-19 21 views
0

RoutePrefixが動作しません。RoutePrefixが動作しません。Asp.NET MVC

コントローラ

[RoutePrefix("example-name")] 
public class HomeController : Controller 
{ 
     public ActionResult Index() 
     { 
      ViewBag.Title = "Home Page"; 

      return View(); 
     } 
} 

敗走コンフィグ

public static void RegisterRoutes(RouteCollection routes) 
{ 
     routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

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

インデックスページ

@Html.ActionLink("click me", "index","example-name"); 

私はしかし、私は404ではない

を取得しています、すべての基本的な手順を完了してい

リソースが見つかりません。 System.Web.Mvc.dll

バージョンは5.2.3.0

+0

あなたのコードに問題が見つかりました。あなたがコントロールのRoutePrefix属性を指定した場合、そのアクションの[Route]属性を指定する必要があります。方法 –

+0

私は示唆したステップで試してみてください。一度変更すると、このURLを貼り付ける必要があります:http:// localhost:8080/hometest/Index –

答えて

-1

は私が解決策を見つけたと思う他のルートの設定方法の前に

+0

いいえ、動作していません。 –

+0

彼は[Route]を獲得しています...それが問題です。 –

0

routes.MapMvcAttributeRoutes(); 

を入れて、次の手順を実行する必要がありさ

を変更

あなたが欠場する最も重要なことは:あなたはspする必要がありますecifyコントロールのRoutePrefix属性を指定すると、アクションのルート属性。以下のようにMapRoute前にこの

<li>@Html.ActionLink("hometext", actionName: "Index", controllerName: "hometest")</li> 

3.move routes.MapMvcAttributeRoutes();よう

[RoutePrefix("hometest")] 
    public class HomeController : Controller 
    { 
     [Route] 
     public ActionResult Index() 
     { 
      return View(); 
     } 

      [Route("About")] 
     public ActionResult About() 
     { 
      ViewBag.Message = "Your application description page."; 

      return View(); 
     } 
} 

2.yourのHTMLビュー。

+0

ご協力ありがとうございます。しかし、私にとって解決策はありません。私は同じ手順を続けます。 –

+0

問題は私はコントローラを見つけることができません、404エラーは、コントローラが表示されていない場合、asp.netは異なる例外ビューが見つからないことを示しています。 –

+0

変更を行った後、http:// localhost:8080/hometest/Index ....ここでlocalhostのポート番号はあなたのマシンの詳細で置き換えられます...ビジュアルスタジオから始めるならば/ hometest/Index –

関連する問題