VS2022 / .net 8.0 使用 Area 頁面連結失效

William He 1 信譽點數
2024-09-02T09:42:41.92+00:00
  1. 我建立了 Movie 資料庫,並使用 MVC Scaffolding 建立了 CRUD 操作。在 Movies/Index.cshtml 頁面上可以正確列出清單,點選 CreateEditDetailDelete 會連結到對應的控制器。
  2. 接著,我使用 Scaffolding 建立區域 Admin 並在其中建立了 CRUD 操作,同樣在 Admin/Movies/Index.cshtml 頁面上可以列出清單。不過,所有連結(例如 <a asp-action="Create">Create New</a>)都無法正常工作;而如果我使用 HTML href 格式 /Admin/Movies/Create.cshtml,則可以正常使用。
  3. 我已經檢查過 Program.cs 中的 Route 配置,並確認它們已經加到 Default Route 的前面。

app.MapControllerRoute(

 name: "areas",

 pattern: "{area:exists}/{controller=Home}/{action=Index}/{id?}");

app.MapControllerRoute(

   name: "default",

   pattern: "{controller=Home}/{action=Index}/{id?}");
  1. Controler 前面也已經指定 Area

namespace MvcMovie.Areas.Admin.Controllers

{

   [Area("Admin")]

   public class MoviesController : Controller  {

請問我哪裡設定錯誤,謝謝。

001

002

ASP.NET
ASP.NET
.NET Framework 中的一組技術,用於建置 Web 應用程式和 XML Web 服務。
9 個問題
0 則留言 沒有留言
{count} 則投票

1 個回答

排序依據: 最實用
  1. William He 1 信譽點數
    2024-09-02T13:46:43.3733333+00:00
    • 1 新增_ViewImport.cshtml到新建立的區域。
    • 2 添加"@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers"_ViewImports.
    0 則留言 沒有留言

您的回答

問題作者可以將答案標示為「已接受的回答」,有助使用者知道此回答解決了作者的問題。