ASP.Net 按钮未链接到各自的 Views/Pages(选择时发出本地主机错误)

ASP.Net Buttons not linking to respective Views/Pages (local host error issued when selected)

我刚开始学习 ASP.Net,目前正在开发一个多页网络应用程序。我的主页视图看起来不错,但是当我尝试打开 "Add contact" 视图或 "Edit" 或 "Delete" 视图时,我收到一条错误消息,指出找不到本地主机页面。我无法确定我的问题所在 - 这是我的索引文件中的一些代码和我的控制器文件中的一些代码。如果我应该寻找其他地方,请告诉我。

与这些视图相关的索引文件代码:

   <td>
            <a asp-controller="ContactInfo" asp-action="Edit" asp-route-id="@contact.ContactId" aps- 
   route-slug="contact.Slug">Edit</a>
            <a asp-controller="ContactInfo" asp-action="Delete" asp-route-id="@contact.ContactId" 
    aps-route-slug="contact.Slug">Delete</a>
        </td>
    </tr>

家庭控制器代码:

         public class HomeController : Controller
    {
        private ContactContext context { get; set; }

        public HomeController(ContactContext ctx)
        {
            context = ctx;
        }

        public IActionResult Index()
        {
            var contacts = context.Contacts.OrderBy(m => m.Name).ToList();
            return View(contacts);
        }
    }

联系人列表控制器代码:

   public class ContactListController : Controller
{
    private ContactContext context { get; set; }

    public ContactListController(ContactContext ctx)
    {
        context = ctx;
    }

    [HttpGet]
    public IActionResult Add()
    {
        ViewBag.Action = "Add";
        return View("Edit", new ContactInfo());
    }

    [HttpGet]
    public IActionResult Edit(int id)
    {
        ViewBag.Action = "Edit";
        var contact = context.Contacts.Find(id);
        return View(contact);
    }

    [HttpPost]
    public IActionResult Edit(ContactInfo contact)
    {
        if (ModelState.IsValid)
        {
            if (contact.ContactId == 0)
                context.Contacts.Add(contact);
            else
                context.Contacts.Update(contact);
            context.SaveChanges();
            return RedirectToAction("Index", "Home");

        }
        else
        {
            ViewBag.Action = (contact.ContactId == 0) ? "Add" : "Edit";
            return View(contact);
        }
    }
    [HttpGet]
    public IActionResult Delete(int id)
    {
        var contact = context.Contacts.Find(id);
        return View(contact);
    }
    [HttpPost]
    public IActionResult Delete(ContactInfo contact)
    {
        context.Contacts.Remove(contact);
        context.SaveChanges();
        return RedirectToAction("Index", "Home");
    }
}

如我所见,您的控制器名称是 ContactList,但您在此处插入了其他内容 asp-controller="ContactInfo",而且我认为不需要 route-slug="contact.Slug" .