ASP.NET WebForms域名路由

7

-1 是什么意思?能否请下投票者解释一下?我猜不会 :) - naveen
抱歉离题了,但除了这是一个很酷的域名路由技巧之外,它有什么用处呢?我的意思是,www.website.com/en或www.en.website.com有什么区别。我认为对于最终用户来说,使用默认路由,即域名.域名类型/控制器会更清晰明了。 - eugeneK
@eugeneK:如果你曾经处理过多租户多语言网站,你就会知道。很抱歉你没有 :) - naveen
4个回答

1

考虑到Route类不仅适用于MVC应用程序,而且可以轻松地在普通的ASP .NET WebForms项目上下文中使用,您提供的DomainRoute类在这种情况下也应该能够正常工作。

证明这一点应该是一个足够简单的尝试。


1

谢谢,但我想扩展URL路由本身,而不是URL重写。 - naveen

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调用它,即~/Home '>Home 注意:不要忘记使用ResolveUrl来调用您的URL,否则无法调用 您的图片和jquery、js路径也应该使用ResolveUrl 例如 '/> 否则这个jquery将无法工作,图片也无法显示 希望这能帮到您


0
简短的回答是,是的,您可以在WebForms中使用路由。请查看System.Web.Routing命名空间。
在Global.asax中的Application_Start中,您可以基于文本或正则表达式设置路由。

2
@yetanothercoder - 不确定你想要什么。你问"这可以做到吗?",是的,这是可以实现的。我给了你作业让你自己去研究。我不知道你想要什么答复... - skaz
@skaz:我们正在谈论域路由。我确实知道System.Web.Routing。你读了博客文章吗? - naveen
我认为打负分有点过了。你的原帖并没有提到你对路由有任何了解。@skaz回答了你的问题,尽管稍微详细一些可能会避免这些评论。 - Simon Halsey
@Simon Halsey:如果你已经阅读了问题并浏览了博客文章,你就会明白。而且我没有对skaz进行投票。 - naveen
@eugeneK:我不介意 :) 对我来说,我的问题已经得到了完整的回答。这只是我的想法。 - naveen
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接