C# 如何在CMS的WebForms中进行路由?
我知道您可以在asp.net web表单中创建路由,但如何创建一个处理所有页面的路由,如C# 如何在CMS的WebForms中进行路由?,c#,asp.net,vb.net,routing,C#,Asp.net,Vb.net,Routing,我知道您可以在asp.net web表单中创建路由,但如何创建一个处理所有页面的路由,如mydomain.com/aboutus 我听说过定制iroute处理程序,但有人能给我举个例子吗 有人能给我举个C#的例子,说明我将如何处理这个问题吗?我有一个名为page.aspx的文件,它将处理CMS的所有请求。我想这是我需要的一个根处理程序。处理这个问题的一种方法是通过重新写入—与Wordpress、ExpressionEngine和许多其他CMS非常相似 您可以将请求重新写入page.aspx文件,
mydomain.com/aboutus
我听说过定制iroute处理程序,但有人能给我举个例子吗
有人能给我举个C#的例子,说明我将如何处理这个问题吗?我有一个名为
page.aspx
的文件,它将处理CMS的所有请求。我想这是我需要的一个根处理程序。处理这个问题的一种方法是通过重新写入—与Wordpress、ExpressionEngine和许多其他CMS非常相似
您可以将请求重新写入page.aspx文件,请求的“page”作为参数,并根据需要进行处理
有很多关于为IIS重写模块的信息,然后您可以研究任何数量的开源解决方案,这些解决方案使用此方法来实现IIS 7中的“漂亮”或“seo友好”URL重写,IIS 7.5可以很好地做到这一点。您需要首先通过Web平台安装程序将URL重写安装到IIS中。之后,您将把它放在web.config中
<system.webServer>
<rewrite>
<rules>
<rule name="admin" stopprocessing="true">
<match url="^admin/(.+)$" />
<action type="Rewrite" url="/admin/{R:1}.aspx" />
</rule>
<rule name="pagehandler">
<match url="^(.*)$" />
<action type="Rewrite" url="/pagehandler.aspx?page={R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
您可以将更多未通过CMS动态更改的页面置于“页面处理程序”规则之上。/pagehandler.aspx将接受具有参数的页面ID,并动态地提供其内容。这是你要解决的问题。你不能用asp.net routing~实现这一点吗?你可以,这是一个快速搜索,它似乎详细介绍了自定义IRouteHandler。我从未尝试过这样做-我是ASP.NET新手-这就是为什么我没有建议将其作为答案:-)Rob,作为“回答”您问题的人,我在自己的快速CMS产品中采用了这种方法。如果你想看一看,并问我关于它,它可能会帮助你,因为你正在建立自己的。它在我的个人资料细节。干杯