2012-07-02 24 views
0

我想在启动页面时将Default.aspx路由到另一个URL。
我的Global.asax是这样的:ASP.NET 4.0 Routing and Default.aspx(如何编写处理程序?是否需要)

protected void Application_Start(object sender, EventArgs e) 
{ 
    RegisterRoutes(RouteTable.Routes); 
} 

public static void RegisterRoutes(RouteCollection routes) 
{ 
    routes.MapPageRoute(
     "Default",               // Route name 
     "My Site",               // URL with parameters 
     "~/Default.aspx"             // Parameter defaults 
    ); 
} 

我应该写我的目的处理程序?
(我发现一些样本的.net 3.5和MVC,但怎么样.net 4网页表格)
如果是的我怎么能写它?

编辑:
这行究竟做什么?

routes.Add("Default", new Route(string.Empty, new RouteHandler("~/Default.aspx"))); 

我使用web表单 - >不MVC

感谢advace

+0

你只是想重置网站的首页吗? –

+0

嗨安德烈,你的意思是什么重置?我只想在页面启动时将“Default.aspx”路由到“我的网站”。意味着当用户输入“www.domain.com/Default.aspx”时,他/她将在他/她的浏览器中看到“www.domain.com/我的网站”。 – MoonLight

+0

我不知道这样做对SEO是否有用!我想为我的所有网页做这项工作。 – MoonLight

回答

0

下面是如何处理与asp.net 4.0 Web窗体路由(一个具体的例子,它只是下了MVC部分)。

http://weblogs.asp.net/scottgu/archive/2009/10/13/url-routing-with-asp-net-4-web-forms-vs-2010-and-net-4-0-series.aspx

你接近它的方式是好的。你的路线的第二个参数确实有错误。也许这不是一个错误,我不喜欢空间,因为它们实际上是编码空间。检查指南。

刚注意到你的编辑。 添加路由本质上会创建一个url或url模式(您有string.Empty这是一个问题)和一个处理程序(它指定RouteHandler,我不相信实际存在?)之间的映射。 .net提供了一个PageRouteHandler,它可以让你指定哪个页面响应你的请求,并处理一些其他的细节,如在你的站点的物理结构上定义的安全性。在内部,MapPageRoute只是调用routes.Add,但使用PageRouteHandler。

相关问题