我是学习 ASP.Net 的新手,目前正在开发一个多页 Web 应用程序。我的主页视图看起来不错,但是当我尝试打开“添加联系人”视图或“编辑”或“删除”视图时,我收到一条错误消息,指出无法找到本地主机页面。我无法指出我的问题是什么 - 这是我的索引文件中的一些代码和我的控制器文件中的一些代码。如果我应该寻找其他地方,请告诉我。
与这些视图相关的索引文件代码:
<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");
}
}