Входящий запрос не соответствует ни одному маршруту в моем примере приложения MVC - PullRequest
0 голосов
/ 17 ноября 2009

Хай, ребята, Я запустил новое приложение asp.net mvc и следовал инструкциям, приведенным в http://www.packtpub.com/article/your-first-asp.net-mvc-application

когда я нажимаю F5, я получаю сообщение об ошибке «Входящий запрос не соответствует ни одному маршруту» ... Любые предложения ....

Обновление:

 public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
            "EmployeeShow",                    // Route name
            "Employee/{firstname}",            // URL with parameters
             new
             {                             // Parameter defaults
                 controller = "EmployeeController",
                 action = "Show",
                 firstname = ""
             }
        );

    }

Мой контроллер

public class EmployeeController : Controller
{
    //
    // GET: /Employee/

    public ActionResult Show(string firstname)
    {
        if (string.IsNullOrEmpty(firstname))
        {
            ViewData["ErrorMessage"] = "No firstname provided!";
        }
        else
        {
            Employee employee = new Employee
            {
                FirstName = firstname,
                LastName = "Example",
                Email = firstname + "@example.com"
            };

            ViewData["FirstName"] = employee.FirstName;
            ViewData["LastName"] = employee.LastName;
            ViewData["Email"] = employee.Email;
        }

        return View();
    }

}

1 Ответ

3 голосов
/ 17 ноября 2009

У вас нет маршрута по умолчанию в вашем методе RegisterRoutes, и ваш первый запрос НЕ будет соответствовать маршруту, который у вас есть, поскольку вы специально указали запрос контроллера .... это нормальное и ожидаемое поведение в зависимости от вашей конфигурации:

public static void RegisterRoutes(RouteCollection routes) {
     routes.IgnoreRoute("{resource}.axd/{*pathInfo}");        
     routes.MapRoute("EmployeeShow",              
                   "{controller}/{firstname}",  // change this line from "Employee" to {controller}
                    new {controller = "Employee", action = "Show", firstname = "" });    
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...