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