2011-04-19 133 views
7

我已经看到了ASP.NET MVC域路由的一个很酷的实现。
来源:http://blog.maartenballiauw.be/post/2009/05/20/ASPNET-MVC-Domain-Routing.aspxASP.NET WebForms域路由

这可以在ASP.NET WebForms 4.0上完成吗?

+0

-1为什么?低调的照顾者会详细说明一下吗?我想不是:) – naveen 2011-05-20 15:27:38

+0

对不起,因为脱离主题,但除了事实这是一个很酷的技巧与域路由,它有什么用?我的意思是www.website.com/en或www.en.website.com有什么不同。我认为对于最终用户来说,拥有默认ROUTES又名域名会更加清晰。域名类型/控制器... – eugeneK 2011-05-22 06:51:27

+0

@eugeneK:与多租户多语言网站合作,你会知道的。我很抱歉,你没有:) – naveen 2011-05-22 07:11:18

回答

0

简而言之,是的,您可以在WebForms中使用路由。查看System.Web.Routing命名空间。

在您的Global.asax的Application_Start中,您可以根据文本或正则表达式设置路由。

+0

@skaz:请给我一个理由,为什么我不应该对此投票! – naveen 2011-04-19 15:40:33

+2

@yetanothercoder - 不知道你想要什么。你问“可以这样做”。是的,它可以完成。我给你做作业去研究。我不知道你想要什么回应... – skaz 2011-04-19 18:34:56

+0

@skaz:我们在这里谈论域路由。我知道System.Web.Routing。你读过博客文章了吗? – naveen 2011-04-20 05:39:35

1

考虑到Route类不是特定于MVC应用程序的事实,并且可以在普通的ASP .NET WebForms项目的上下文中轻松使用,所链接的DomainRoute类也应该在该上下文中工作得很好。

应该是一个足够简单的冒险来证明。

+0

证明,例如:) – naveen 2011-05-16 18:56:24

1

你的问题的答案是肯定的。这其实很简单。你可以尝试使用DomainRoute类或者只写自己的url重写模块,并且很好。但基本上你会使用这样的:

http://www.gutgames.com/post/Url-Rewriting-in-ASPNet.aspx

代替作为路径,你会使用URL属性和解析你想要的东西。或者你可以只使用一个像这样的开源项目:

http://sharedhostingsplittr.codeplex.com/

而且稍微修改它,如果需要的话。

+0

谢谢,但代替url重写,我想扩展url路由本身 – naveen 2011-05-23 13:12:27

0

是添加Global.ascx文件在您的项目,并添加一个功能是我写的

public static void UrlRouting(RouteCollection RC, string RoutName, string routeUrl, string Page) 
    { 
     RC.MapPageRoute(RoutName, routeUrl, Page); 
    } 
after this inside Application_Start event on global.ascx file 
call that function like 
UrlRouting(RouteTable.Routes, "index", "Home", "~/index.aspx"); 

,然后用URL路径是〜/主页 称之为'>首页 注意:不要别忘了打电话RESOLVEURL与您的网址,否则就不能称之为 和你的图片和jQuery,js的路径也应该有RESOLVEURL 像 “/> 否则这个jQuery将无法正常工作,并且图像将不会显示 希望这将有助于