【问题标题】:The incoming request does not match any route in My sample mvc application传入的请求与我的示例 mvc 应用程序中的任何路由都不匹配
【发布时间】:2009-11-17 07:37:27
【问题描述】:

大家好, 我启动了一个新的 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();
    }

}

【问题讨论】:

  • 请发布您的 RegisterRoutes 函数,并告诉我们您要访问哪个 URL。你如何运行你的项目?通过内部调试器/网络服务器还是通过 IIS?
  • Hai Palantir 我的代码在下面 ....
  • 这是解决路由问题的必要条件:haacked.com/archive/2008/03/13/url-routing-debugger.aspx

标签: asp.net asp.net-mvc


【解决方案1】:

您的 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 = "" });    
 }

【讨论】:

    猜你喜欢
    • 2010-09-21
    • 1970-01-01
    • 2010-12-06
    • 1970-01-01
    • 1970-01-01
    • 2010-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多