我有一个遗留的WebForms网站,其中一个Default.aspx页面在IIS中配置为默认页面。因此,当有人转到mysite.com
时,他们会看到 mysite.com/Default.aspx
,但地址栏中的网址只会显示mysite.com
。
我在网站上添加了MVC,我希望逐步将功能转移到MVC。一切正常,但它打破了根页:导航到路由导致404,因为默认路由匹配根并尝试路由家庭控制器,但没有一个。所以我添加了一个这样做:
' GET: /Home
Function Index() As ActionResult
'jump to the go page
Return Redirect("/default.aspx")
End Function
这现在有效,除了当您导航到路线时,它会在地址栏中显示mysite.com/Default.aspx
。
我喜欢它:
Default.aspx
页面像以前一样处理它这些都可能吗?
答案 0 :(得分:2)
有可能。
在路由配置中,删除defaults参数中的控制器。 由此:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
对此:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { action = "Index", id = UrlParameter.Optional }
);
然后将Default.aspx
添加到项目根目录