Попытка добавления контроллера MVC с действием чтения/записи с использованием EntityFramework. Мое имя контроллера - UserController. Когда я нажимаю add, VS создает папку с именем Users и подкаталоги, такие как Create, Edit, Index и т. Д.MVC-контроллер с использованием EntityFramework 404 Ошибка
Имя моей модели-модели - это пользователи.
Когда я пытаюсь связаться со ссылками ниже, я получил ошибку «Не найден ресурс 404».
http://localhost:64871/Users <br>
http://localhost:64871/Users/Index<br>
http://localhost:64871/Users/Create
я могу достигнуть ссылки, которые я создал с пустым вариантом контроллера MVC.
http://localhost:64871/Home<br>
http://localhost:64871/Home/Test
Что может быть неправильным? Должен ли я добавить некоторые значения в файл RouteConfig?
Моего RouteConfig.cs
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
Мой UsersController выглядеть;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Entity;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace Aplatform.Controllers
{
public class UsersController : Controller
{
private dbEntities db = new dbEntities();
//
// GET: /Users/
public ActionResult Index()
{
return View(db.Users.ToList());
}
//
// GET: /Users/Details/5
public ActionResult Details(Guid id = null)
{
Users users = db.Users.Find(id);
if (users == null)
{
return HttpNotFound();
}
return View(users);
}
//
// GET: /Users/Create
public ActionResult Create()
{
return View();
}
//
// POST: /Users/Create
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(Users users)
{
if (ModelState.IsValid)
{
users.ID = Guid.NewGuid();
db.Users.Add(users);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(users);
}
//
// GET: /Users/Edit/5
public ActionResult Edit(Guid id = null)
{
Users users = db.Users.Find(id);
if (users == null)
{
return HttpNotFound();
}
return View(users);
}
//
// POST: /Users/Edit/5
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit(Users users)
{
if (ModelState.IsValid)
{
db.Entry(users).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(users);
}
//
// GET: /Users/Delete/5
public ActionResult Delete(Guid id = null)
{
Users users = db.Users.Find(id);
if (users == null)
{
return HttpNotFound();
}
return View(users);
}
//
// POST: /Users/Delete/5
[HttpPost, ActionName("Delete")]
[ValidateAntiForgeryToken]
public ActionResult DeleteConfirmed(Guid id)
{
Users users = db.Users.Find(id);
db.Users.Remove(users);
db.SaveChanges();
return RedirectToAction("Index");
}
protected override void Dispose(bool disposing)
{
db.Dispose();
base.Dispose(disposing);
}
}
}
Спасибо!
Возможно, вам не хватает модификатора общедоступного доступа перед контроллером ... Не могли бы вы показать, как выглядят контроллеры? – CoffeeCode
Я добавил коды пользователей на вопрос. Благодаря! –