2017-04-24 36 views
1

Companiesモデルビュー(Views/Companies/Employees/Edit)内のサブフォルダ内のEditページにルーティングします。ASP.NETコアMVCのサブフォルダにルーティング

私はリンクhttp://localhost:xxxxx/Companies/Employees%2FEdit/1で空白のページを開きます企業モデルのビューのIndex.cshtml<a asp-action="Employees/Edit" asp-route-id="@model.ID">Edit</a>を使用してそれを実行しようとしました。正しい表示はhttp://localhost:xxxxx/Companies/Employees/Edit/1にあるはずです。

誰も私にこれを得ている理由を説明することはできますか?

これはStartup.csです:

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

ビューモデルです。 –

答えて

4

あなたはasp-controller属性を設定していません。

<a asp-action="Employees/Edit" asp-route-id="@model.ID">Edit</a> 

は、あなたがサブフォルダあなたのやり方を持っている理由

<a asp-action="Edit" asp-controller="Employees" asp-route-id="@model.ID">Edit</a> 

私はよく分からないでなければなりません。

あなたはEmployeesコントローラでEditアクションを持っています(つまり、条約の)Views/ControllerName/ActionNameことになっていますか?またはCompaniesコントローラのEditアクションですか?

+0

ビンゴ。ありがとうございました! –

+0

@VyNguyenは、それを受け入れるための答えによって「ダニ」記号をクリックするといいでしょう:) – scartag

+0

注:@scartagは正しかったです。私はサブフォルダは必要ありませんでした。私はEmployees.csthmlをメインViewsフォルダに戻し、 "asp-controller"をタグに追加しました。今はうまくいく。 –

関連する問題