У меня есть несколько страниц, которые очень похожи на другие, но одна из них не работает.
Когда я пишу 'http://localhost:2265/Segment/', я получаю раздражающее сообщение об ошибке "Ошибка сервера в" / "приложении.
Ресурс не найден. "
Другие страницы, такие как 'http://localhost:2265/User/', работают очень хорошо, а также' http://localhost:2265/Segment/Create'. Так что проблема заключается в индексе сегмента. Я использовал ASP.NET Routing Debugger, и на других страницах я получаю правильные сопоставления, но я получаю то же самое сообщение об ошибке «ресурс не может быть найден» также при использовании отладчика ... Я думаю, это указывает на то, что маршрут по умолчанию не перехватывает его. .
Есть идеи?
Вот мои команды MapRoute.
routes.MapRoute(
"Maintenance",
"Maintenance/{action}",
new { controller = "Maintenance", action = "Index", id = "" }
);
routes.MapRoute(
"User",
"User/{action}",
new { controller = "User", action = "Index", id = "" }
);
routes.MapRoute(
"Segment",
"Segment/{action}",
new { controller = "Segment", action = "Index", id = "" }
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
Обновление:
Спасибо за быстрый ответ!
Я удалил все маршруты, кроме стандартных. Это не решило проблему, но теперь список маршрутов стал короче.
В моем файле контроллера есть другие классы, такие как:
public class SegmentFormViewModel
{
}
public class SegmentController : Controller
{
}
public class SegmentFormCreateModel : Segment
{
}
Я пытался переместить его в контроллер, но это тоже не помогло.
Есть ли способ отладить эту проблему?
Обновление:
Вот мой контроллер (без содержания методов)
public class SegmentController : Controller
{
//
// GET: /Segment/
public ActionResult Index()
{
}
//
// GET: /Segment/Details/5
public ActionResult Details(Guid id)
{
}
//
// GET: /Segment/Create
public ActionResult Create()
{
}
//
// POST: /Segment/Create
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create(FormCollection collection)
{
}
//
// GET: /Segment/Edit/5
public ActionResult Edit(int id)
{
}
//
// POST: /Segment/Edit/5
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(int id, FormCollection collection)
{
}
}