iis6上的mvc2主机:传入的请求与任何路由都不匹配

时间:2010-06-14 20:29:27

标签: asp.net-mvc asp.net-mvc-2

我必须在iis6上托管我的项目,我无法更改服务器上的iis设置。 所以,我修改了global.asax,如下所示。

如果我添加了default.aspx和浏览项目,我会收到如下错误:传入的请求与任何路由都不匹配。

如果我不添加默认的aspx,我得到 HTTP错误403.14

有什么想法吗? 感谢

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


            routes.MapRoute("Default", // Route name
                  "{controller}.aspx/{action}/{id}",
                  new { controller = "Home", action = "Index", id = "" }  // Parameter defaults )
                  );
            routes.MapRoute("Detail", // Route name
                   "{controller}.aspx/{action}/{id}/{sid}",
                   new { controller = "Home", action = "Index", id = "", sid="" }  // Parameter defaults )
                   );
            routes.MapRoute("ForGoogle", // Route name
                   "{controller}.aspx/{action}/{friendlyUrl}/{id}/{partialName}",
                   new { controller = "Home", action = "Index", friendlyUrl = "", id = "", partialName =""}  // Parameter defaults )
                   );
            routes.MapRoute(
                    "PostFeed",
                    "Feed/{type}",
                    new { controller = "Product", action = "PostFeed", type = "rss" }
                );

        }

1 个答案:

答案 0 :(得分:1)

添加重定向到右侧页面的index.htm文件。这有一个侧面优势:它不需要启动webapp,因此可以在第一次启动webapp时显示图像或文本。

花哨的jquery“loading ...” - 我在某些项目中使用的页面:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title>(loading...)</title>

  <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>

  <script type="text/javascript">
   $(document).ready(function() {
     $.ajax({ type: 'GET', url: 'Home.aspx', success: function() { location.href = 'Home.aspx'; } });
   });
  </script>

</head>
<body>
 <div id="loading">
   (show "loading..." text here)
 </div>
</body>
</html>