2016-12-14 6 views
0

ホーム以外の別のコントローラにルーティングするために、ASP .NETコアMVCサイトを取得できません。私は(それが唯一のルートである)Startupにデフォルトルートを変更:異なるコントローラへのASPコアのデフォルトルートの変更

 app.UseMvc(routes => 
     { 
      routes.MapRoute(name: "default", template: "{controller=profile}/{action=index}/{id?}"); 
     }); 

ProfileControllerは、次のようになります。

public class ProfileController : Controller 
{ 
    [HttpGet("index")] 
    public IActionResult Index() 
    { 
     return View(); 
    } 
    ... 
} 

しかし、ベースURLにナビゲートする上ケストレルサーバフォーム返さ私が得るすべては404です。

+0

'Profile'、代わりにprofile''の 'Index'とは' –

+0

違いはありませんindex'うん...私は、実施例とその答えを掲載してみてください。ルートは大文字小文字を区別するので、 'Profile'と' profile'は同じです。 – markmnl

+0

... –

答えて

0

私はちょうど新しいプロジェクトを作成したし、私のために働いた。たぶんあなたは何か別のことをやっているかもしれません。

ここに私がしたことがあります。

  • 新しいasp.netコアWebアプリケーションプロジェクトを作成します(選択したMVCテンプレート)
  • 更新Startup.csでデフォルトルート:

    public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) { 
        loggerFactory.AddConsole(Configuration.GetSection("Logging")); 
        loggerFactory.AddDebug(); 
    
        if (env.IsDevelopment()) { 
        app.UseDeveloperExceptionPage(); 
        app.UseBrowserLink(); 
        } else { 
        app.UseExceptionHandler("/Home/Error"); 
        } 
    
        app.UseStaticFiles(); 
    
        app.UseMvc(routes => { 
        routes.MapRoute(
         name: "default", 
         template: "{controller=profile}/{action=index}/{id?}"); 
        }); 
    } 
    
  • プロフィールコントローラを作成します。

    public class ProfileController : Controller { 
        // GET: /<controller>/ 
        public IActionResult Index() { 
        return View(); 
        } 
    } 
    
  • プロファイルコントローラのインデックスビューを作成します。

enter image description here

  • プロジェクトおよびプロファイルのインデックスページを開く必要があります実行します。

UPDATE:

問題は、プロファイル・コントローラー[HttpGet("index")]ました。

+0

バグ 'HttpGet'属性でしたか? – markmnl

+1

私のメソッドに '[HttpGet(" index ")]'を挿入すると、動作が停止します。私はHttpGetはMVCではなくWeb APIのためだと思います。 Web APIを構築し、Webページが必要な場合は、APIとMVCを混在させることができます。 –

+0

いいえ他の場所でHttpGetとHttpPost属性を使用することができます - 私はそれらを好む、デフォルトのインデックスはそれを使うと思われます。 – markmnl

関連する問題