Почему ASP.NET MVC URL-маршрутизация не может найти мой контроллер? - PullRequest
1 голос
/ 15 января 2009

В моем файле Global.asax.cs в методе RegisterRoutes я поставил

routes.MapRoute("messages", 
    "Message/{id}", 
    new { controller = "Archive", action = "Message", id = 0 });

Тогда я создал этот контроллер:

namespace TestingApp.Controllers
{
    public class ArchiveController : Controller
    {
        public string Message(int id)
        {
            return "testing: you will receive the message: " + id.ToString();
        }
    }
}

Но в моем браузере я захожу на:

http://.../Message/34

Я получаю 404.

Что еще мне нужно определить, чтобы маршрутизация нашла мой контроллер?

Ответы [ 2 ]

4 голосов
/ 15 января 2009

Попробуйте определить свой конкретный маршрут до маршрута по умолчанию:

routes.MapRoute(
    "messages",
    "Message/{id}",
    new { controller = "Archive", action = "Message", id = 0 });

routes.MapRoute(
    "Default",
    "{controller}/{action}/{id}",
    new { controller = "Home", action = "Index", id = "" });
1 голос
/ 15 января 2009

Я думаю, что ваш метод Message должен возвращать экземпляр ActionResult:

public ActionResult Message(int id)
{
    return new ContentResult {
        Content = "testing: you will receive the message: " + id.ToString()
    };
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...