2012-06-02 236 views
0

我正在使用.Net 4.0框架并执行一些网址路由。这不是一个MVC项目,而是一个webforms项目。我创建了两条路线在Global.asax像这样:Asp.net 4.0网址路由

 routes.MapPageRoute(
      "review",  // Route name 
      "documents/{type}",  // Route URL 
      "~/default.aspx" // Web page to handle route 
     ); 

     routes.MapPageRoute(
      "help",  // Route name 
      "resource/help",  // Route URL 
      "~/help.aspx" // Web page to handle route 
     ); 

当我点击网站导航像一个链接上的“文件/挂起”,它会转到合适的位置,并显示预期的URL。如果我再次点击'document/accepted',网址将如下所示:

http://localhost/documents/documents/accepted 

此外,未找到并呈现页面。如果我点击帮助链接然后点击文档,也会发生同样的事情。该网址将如下所示:

http://localhost/resource/documents/pending 

为什么路由连接url?我怎样才能解决这个问题?

在此先感谢

回答

0

问题的是与你的网址是如何被解决。有关如何保证您的网址始终能够正确解析,请参阅http://msdn.microsoft.com/en-us/library/dd329551.aspx

或者,我已经编写了一个导航项目,它将使您的生活更轻松,因为它可以为您处理所有的URL构建,http://navigation.codeplex.com/。如果您有兴趣并且想要任何帮助,请告诉我。

+0

感谢的人,我解决了我的问题。取而代之我使用<%= Page.ResolveClientUrl(“〜/ link”)%> – Artex