2016-10-20 26 views
0

私はまったく新しい.netです。私は今、.netコアを学んでいます。私はルーティングを把握しようとしています。私はホームと共有を除いてどんなフォルダでも見るためにルーティングを得るように見えない。私はインターネットのいたるところを見て、多くのことを試しました。私が紛失しているものがあるようです。ここで私は.netコアmvc​​ルーティングとコントローラ

app.UseMvc(routes => 
      { 
       routes.MapRoute(
        name: "test", 
        template: "Register/test", 
        defaults: new { controller = "Register", action = "test"} 
        ); 

       routes.MapRoute(
        name: "default", 
        template: "{controller=Home}/{action=Index}/{id?}"); 


      }); 

を得たものである私は、これはアウトルーティング把握トンをしようとする中test.cshtmlファイルを登録するフォルダを持っています。そしてこれは、私の_layoutページに

 public IActionResult test() 
     { 
      return View(); 
     } 

ファイル私はこのリンク

<li><a asp-area="" asp-controller="Register" asp-action="test">Test</a></li> 

を持っている私のHomeController.csである私は、ホームフォルダに入れたときにそれが正常に動作しますが、私は物事を維持したいです分離する。私は何かが欠けていることを知っています。私はStack Overflowを含むオンライン上のあらゆる種類の記事を読んできましたが、私は何が欠けているのか分かりません。私が読んだところでは、Parentフォルダ/ File/thenとidのようにユーザー名のようなものになっていると思っていますが、これは私の最近の試みでした。私はちょうど助けることができないが、私はどこか別のコードを少し必要と思う。

+0

大変申し訳ございません。あなたが直面している本当の問題は何ですか?期待される行動は何ですか? – Shyju

+0

これはルーティングの最も簡単なインスタンスであると思われるので、現在、Navbarにルートを追加していますが、私はそうではないと思います。基本的に、リンクは[登録]フォルダのテストページに移動する必要があります。 – FoffySkrimshaw

+0

さて、私はそれを働かせました。私が前に試したこととは違ったことを確信していない。それは本当に私がそれをよりよく理解するのを助けません。しかし、今私はそれが働くようになったかもしれませんが、私はそれをよりよく解剖することができます。 – FoffySkrimshaw

答えて

0

あなたの質問から、あなたのHomeControllerに次のコードがあるようです。

あなたが定義されたルートのテンプレートは、「登録」コントローラと「テスト」アクションをデフォルトと明示的なキャプチャですので、実際にあなたの RegisterControllerに属し
public IActionResult test() 
{ 
    return View(); 
} 

"test.cshtml"という名前のビュー(既定の規則のために名前を付ける必要があります)は、\Views\Homeの隣の\Views\Registerフォルダに存在する必要があります。

これはいくつかの方法でうまくいくかもしれないいくつかの理由があります。まず、共有されているすべてのコントローラについて、そのビューを検出できます。あなたが試したリクエストについてもっと知ることなしに、ルーティングが最初のルートか2番目に蹴られたかどうかを判断するのは難しいですが、そのメソッドが本当に/ home/testへのHomeControllerリクエストであったとしたら、

あなたがルーティングを探索しているように見えます。それは偉大です - 私は100%実験を励ます - あなたがルーティングが必ずしも学ぶべき最も低いぶら下がりの果物ではないことを知っている限り。それはあなたが時間の93.7%に触れてはならないものでもあります。たとえば、あなたが定義したルートは、追加するコントローラとアクションには不要です(RegisterControllertest)。

乾杯。

関連する問題