使用asp.net 4 webforms的条件url路由

使用asp.net 4 webforms的条件url路由,asp.net,routing,webforms,conditional,Asp.net,Routing,Webforms,Conditional,我想在没有任何重定向的情况下为我的网站上的网页提供移动版和网络版的服务,这样,如果访问者使用PC浏览网页,他们就会看到网络版,反之亦然 我可以做一些媒体查询,减少页面上的内容,但这并不理想 我知道我可以用asp.NETMVC来完成,但是,这个项目已经完成了一半,我并没有时间重写它 我曾考虑过使用条件路由,但由于路由在应用程序启动时注册,所以看起来不可能。是否仍有使用条件腐烂的情况 我也愿意接受建议。这不是一个MVC解决方案,但我知道您可以通过IIS7重写模块来实现这一点 <rewrite&

我想在没有任何重定向的情况下为我的网站上的网页提供移动版和网络版的服务,这样,如果访问者使用PC浏览网页,他们就会看到网络版,反之亦然

我可以做一些媒体查询,减少页面上的内容,但这并不理想

我知道我可以用asp.NETMVC来完成,但是,这个项目已经完成了一半,我并没有时间重写它

我曾考虑过使用条件路由,但由于路由在应用程序启动时注册,所以看起来不可能。是否仍有使用条件腐烂的情况


我也愿意接受建议。

这不是一个MVC解决方案,但我知道您可以通过IIS7重写模块来实现这一点

<rewrite>
    <rules>
        <rule name="Mobile" stopProcessing="true">
            <match url="^(.*)$" />
            <conditions logicalGrouping="MatchAny">
                <add input="{USER_AGENT}" pattern="iPhone" />
            </conditions>
            <action type="Rewrite" url="Mobile/{R:1}" />
        </rule>
    </rules>
</rewrite>

这不是一个MVC解决方案,但我知道你可以用IIS7重写模块来实现

<rewrite>
    <rules>
        <rule name="Mobile" stopProcessing="true">
            <match url="^(.*)$" />
            <conditions logicalGrouping="MatchAny">
                <add input="{USER_AGENT}" pattern="iPhone" />
            </conditions>
            <action type="Rewrite" url="Mobile/{R:1}" />
        </rule>
    </rules>
</rewrite>