最近研究MVC,用VS2008自带的调试程序一切OK。然后设置成IIS的虚拟目录发现好像CONTROL无法解析出来,提示“无法找到该页”。一开始怀疑是没有设置到根目录的问题,然后设置到IIS的根目录,结果错误依然!最后发现是XP自带的IIS5和VS2008的开放服务器的差异问题。查考:http://blogs.microsoft.co.il/blogs/dorony/archive/2007/12/15/using-asp-net-mvc-on-iis-5.aspx 原因原来是IIS对无后缀的WEB程序没有进行解析

设置该虚拟目录下的映射关系,增加“.*”的扩展,可执行文件路径设置同“.ASPX ”,特别不要忘记取消“检查文件是否存在”!

 

解决方法之二:以上方法影响范围过大,也可以用修改MVC的ROUTING来解决

     修改:DEFAULT页面:

     

 sender, System.EventArgs e)
        {
            Response.Redirect("~/Home");
        }
        改成
         
public void Page_Load(object sender, System.EventArgs e)
        {
            Response.Redirect(
"~/Home.aspx");
        }

 

     修改ROUTE:

 

routes.MapRoute(
                "Default",                                              // Route name
                "{controller}/{action}/{id}",                           // URL with parameters
                new { controller = "Home", action = "Index", id = "" }  // Parameter defaults
            );
改为
routes.MapRoute(
                
"Default",                                              // Route name
                "{controller}.aspx/{action}/{id}",                           // URL with parameters
                new { controller = "Home", action = "Index", id = "" }  // Parameter defaults
            );

 

这样就是/HOME.ASPX/INDEX代替/HOME/INDEX了

相关文章:

  • 2021-12-17
  • 2021-07-24
  • 2021-07-30
  • 2021-04-10
  • 2021-08-27
  • 2021-12-08
  • 2021-06-10
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-08-26
  • 2022-02-21
  • 2022-12-23
  • 2021-10-20
  • 2021-06-02
  • 2021-07-31
相关资源
相似解决方案