Asp.net mvc 3 添加MapPageRoute时Actionlinks会断开

Asp.net mvc 3 添加MapPageRoute时Actionlinks会断开,asp.net-mvc-3,routes,custom-routes,Asp.net Mvc 3,Routes,Custom Routes,我们需要添加一个.html文件,它应该是mvc应用程序根目录的一部分,所以我添加了以下内容 Route AnnouncementRoute = routes.MapPageRoute ("Announcement", "Announcement", "~/Announcement.html"); Route DefaultRoute = routes.MapRoute(

我们需要添加一个.html文件,它应该是mvc应用程序根目录的一部分,所以我添加了以下内容

Route AnnouncementRoute = routes.MapPageRoute
                                      ("Announcement", "Announcement", "~/Announcement.html");

Route DefaultRoute = routes.MapRoute(
                        "Default", // Route name
                        "{controller}/{action}/{id}", // URL with parameters
                        new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
                    );
上面的代码将所有默认的ActionLink添加到公告中

http://localhost/Announcement?action=actionname&controller=controllername
如何确保生成的my actionlinks不包含以下链接中的公告,这是正确的

http://localhost/?action=actionname&controller=controllername

您可以使用
RouteCollection.IgnoreRoute()
。这里有一个很好的方法,可以完全满足您的需要。

我们不希望文件以site.com/Announcement.html的形式访问,而是希望文件以site.com/Announcement.html的形式访问。您不希望只创建一个带有单个操作的公告控制器,并查看Announcement.html的内容,这有什么原因吗?