Asp.net mvc 找不到资源错误

Asp.net mvc 找不到资源错误,asp.net-mvc,Asp.net Mvc,我犯了这个错误 找不到资源 描述:HTTP404。您正在查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时不可用。请检查以下URL并确保其拼写正确 请求的URL:/晚餐 我搜索过,但没有适合我的答案 我的控制器的咒语是正确的。我试了很多次,检查了很多次 我没有自定义我的rounting Globle.asax 我检查了项目属性下的“Web”选项卡,“SpecificPage没有任何内容” 一切都是默认的。无论如何,这里是Rouning的默认代码。谁知道为什么?谢谢 public sta

我犯了这个错误

找不到资源

描述:HTTP404。您正在查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时不可用。请检查以下URL并确保其拼写正确

请求的URL:/晚餐

我搜索过,但没有适合我的答案

  • 我的控制器的咒语是正确的。我试了很多次,检查了很多次

  • 我没有自定义我的rounting Globle.asax

  • 我检查了项目属性下的“Web”选项卡,“SpecificPage没有任何内容”

  • 一切都是默认的。无论如何,这里是Rouning的默认代码。谁知道为什么?谢谢

     public static void RegisterRoutes(RouteCollection routes)
            {
                routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
    
                routes.MapRoute(
                    "Default", // Route name
                    "{controller}/{action}/{id}", // URL with parameters
                    new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
                );
    
            }
    
    这是我的晚餐控制器

    namespace NerdDinner.Controllers
    {
        public class DinnerController : Controller
        {
            IDinnerRepository _repository;
            public DinnerController()
            {
                _repository = new sqlDinnerRepository();
            }
    
            public DinnerController(IDinnerRepository repository)
            {
                _repository = repository;
            }
    
            //
            // GET: /Dinner/
    
            public ActionResult Index()
            {
                var dinners = _repository.FindAllDinners();
                return View(dinners);
            }
    
            //
            // GET: /Dinner/Details/5
    
            public ActionResult Details(int id)
            {
                var dinner = _repository.GetDinner(id);
                return View(dinner);
            }
    
            //
            // GET: /Dinner/Create
    
            public ActionResult Create()
            {
                return View();
            }
    
            //
            // POST: /Dinner/Create
    
            [HttpPost]
            public ActionResult Create(Dinner dinner)
            {
                try
                {
                    // TODO: Add insert logic here
                    _repository.AddDinner(dinner);
                    _repository.UpdateDinner(dinner);
    
                    return RedirectToAction("Index");
                }
                catch
                {
                    return View(dinner);
                }
            }
    
            //
            // GET: /Dinner/Edit/5
    
            public ActionResult Edit(int id)
            {
                var dinner = _repository.GetDinner(id);
                return View(dinner);
            }
    
            //
            // POST: /Dinner/Edit/5
    
            [HttpPost]
            public ActionResult Edit(int id, FormCollection collection)
            {
    
                var dinner = _repository.GetDinner(id);
                try
                {
                    // TODO: Add update logic here
                    UpdateModel(dinner, collection.ToValueProvider());
                    _repository.UpdateDinner(dinner);
                    return RedirectToAction("Index");
                }
                catch
                {
                    return View(dinner);
                }
            }
    
            //
            // POST: /Dinner/Delete/5
    
            [HttpPost]
            public ActionResult Delete(int id)
            {
                var db = new dbDataContext();
                var dinner = db.Dinners.SingleOrDefault(x => x.DinnerID == id);
                try
                {
                    // TODO: Add delete logic here
                    _repository.DeleteDinner(dinner);
                    _repository.UpdateDinner(dinner);
                    return RedirectToAction("Index");
                }
                catch
                {
                    return View(dinner);
                }
            }
        }
    }
    
    下面是存储库接口

    namespace NerdDinner.Models
    {
        interface IDinnerRepository
        {
            IQueryable<Dinner> FindAllDinners();
            Dinner GetDinner(int id);
            void AddDinner(Dinner dinner);
            void UpdateDinner(Dinner dinner);
            void DeleteDinner(Dinner dinner);
        }
    }
    
    namespace NerdDinner.Models
    {
        public class sqlDinnerRepository
        {
            dbDataContext db;
            public sqlDinnerRepository()
            {
                db = new dbDataContext();
            }
    
            public IQueryable<Dinner> FindAllDinners()
            {
                return db.Dinners;
            }
    
            public Dinner GetDinner(int id)
            {
                return db.Dinners.SingleOrDefault(x => x.DinnerID == id);
            }
    
            public void AddDinner(Dinner dinner)
            {
                db.Dinners.InsertOnSubmit(dinner);
            }
    
            public void UpdateDinner(Dinner dinner)
            {
                db.SubmitChanges();
            }
    
            public void DeleteDinner(Dinner dinner)
            {
                db.Dinners.DeleteOnSubmit(dinner);
            }
        }
    }
    
    名称空间NerdDinner.Models
    {
    接口存储库
    {
    IQueryable findalldiners();
    晚餐(intid);
    晚餐(晚餐);
    void updatediner(晚餐);
    晚餐(晚餐);
    }
    }
    
    sqlDinnerRepository类实现了存储库接口

    namespace NerdDinner.Models
    {
        interface IDinnerRepository
        {
            IQueryable<Dinner> FindAllDinners();
            Dinner GetDinner(int id);
            void AddDinner(Dinner dinner);
            void UpdateDinner(Dinner dinner);
            void DeleteDinner(Dinner dinner);
        }
    }
    
    namespace NerdDinner.Models
    {
        public class sqlDinnerRepository
        {
            dbDataContext db;
            public sqlDinnerRepository()
            {
                db = new dbDataContext();
            }
    
            public IQueryable<Dinner> FindAllDinners()
            {
                return db.Dinners;
            }
    
            public Dinner GetDinner(int id)
            {
                return db.Dinners.SingleOrDefault(x => x.DinnerID == id);
            }
    
            public void AddDinner(Dinner dinner)
            {
                db.Dinners.InsertOnSubmit(dinner);
            }
    
            public void UpdateDinner(Dinner dinner)
            {
                db.SubmitChanges();
            }
    
            public void DeleteDinner(Dinner dinner)
            {
                db.Dinners.DeleteOnSubmit(dinner);
            }
        }
    }
    
    名称空间NerdDinner.Models
    {
    公共类sqlDinnerRepository
    {
    dbDataContext数据库;
    公共sqlDinnerRepository()
    {
    db=新的dbDataContext();
    }
    公共可查询的FindAllDinners()
    {
    返回db.晚餐;
    }
    公共晚餐(int id)
    {
    返回db.Dinners.SingleOrDefault(x=>x.DinnerID==id);
    }
    公共晚餐(晚餐)
    {
    db.晚餐。InsertOnSubmit(晚餐);
    }
    公共空间更新器(晚餐)
    {
    db.SubmitChanges();
    }
    公共晚餐(晚餐)
    {
    db.dinters.deleteosubmit(晚餐);
    }
    }
    }
    

    我键入
    ”http://localhost:52372/Dinner“
    在我的浏览器中。

    请共享晚餐控制器的代码以及您在浏览器中编写的完整URL。我将代码放在那里了。但我认为我的代码是正确的。因为它昨天起作用了。我刚刚更新了一些组件,比如jQuery、Entityframe等。然后出现了这个错误。代码似乎是正确的。你调试代码了吗?在DinnerController的构造函数上添加断点并尝试调试。调用构造函数时可能出现问题。我试图在晚餐构造函数上添加断点。这似乎不是控制器的问题。我也犯了同样的错误。项目没有中断,它通过了晚餐控制器。这是由IIS引起的吗?我不确定。