无法找到资源错误

时间:2013-05-27 10:10:34

标签: asp.net-mvc

这个错误发生在我身上。

无法找到资源。

描述:HTTP 404.您正在查找的资源(或其中一个依赖项)可能已被删除,名称已更改或暂时不可用。请查看以下网址,确保拼写正确。

请求的网址:/晚餐

我搜索了但对我来说没有合适的答案。

  1. 我的控制器的咒语是正确的。我多次尝试和检查。

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

  3. 我检查了项目属性下的“Web”标签,“没有任何内容的特定页面”

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

     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);
                }
            }
        }
    }
    

    这是IDinnerRepository接口

    namespace NerdDinner.Models
    {
        interface IDinnerRepository
        {
            IQueryable<Dinner> FindAllDinners();
            Dinner GetDinner(int id);
            void AddDinner(Dinner dinner);
            void UpdateDinner(Dinner dinner);
            void DeleteDinner(Dinner dinner);
        }
    }
    

    sqlDinnerRepository类实现了IDinnerRepository接口

    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);
            }
        }
    }
    

    我在浏览器中输入"http://localhost:52372/Dinner"

0 个答案:

没有答案