【问题标题】:Rewrite URL in ASP .NET Web Forms重写 ASP .NET Web 窗体中的 URL
【发布时间】:2012-08-03 07:14:18
【问题描述】:

我刚刚从 ASP .NET MVC 应用程序退后一步,转而使用 ASP .NET Web 窗体,我想知道是否也可以在 Web 窗体中重写 url。我有以下一组 URL 需要重新提交:

  • Edit.aspx?type=grbat
  • Edit.aspx?type=lrbat
  • Edit.aspx?type=glsi
  • Edit.aspx?type=llsi

如您所见,一切都在一个页面上运行。

但是,我想让 URL 对用户更友好,并将其替换为:

  • EditGlobalTopic.aspx
  • EditLocalTopic.aspx
  • EditGlobalInitiative.aspx
  • EditLocalInitiative.aspx

在 ASP .NET Web 窗体中是否可行?

谢谢

【问题讨论】:

标签: asp.net asp.net-mvc


【解决方案1】:

您可以使用开源组件:URL Rewriter

我以前用过这个,并且能够快速创建友好的 URL。

【讨论】:

    【解决方案2】:

    我认为您需要在此处重写 url(isapi 或其他类似工具)来实现您想要的。

    这里您访问了 4 个不同的页面,需要创建它们,否则服务器将响应 404

    您可以创建这 4 个页面,然后使用适当的参数重定向到 edit.aspx,但我仍然认为使用 url 重写是一种更好的方法(因为这是它的目的)

    【讨论】:

      【解决方案3】:

      您好,您可以使用 Bellow 方法轻松地从 Web.config 重写 URL,

          <system.webServer> 
           <rewrite> 
             <rules> 
               <rule name="default">
                 <match url="^EditGlobalTopic.aspx" />
                   <conditions logicalGrouping="MatchAll">
                      <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                      <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                      <add input="{REQUEST_FILENAME}" pattern="\.axd" negate="true" />
                     </conditions>
                <action type="Rewrite" url="Edit.aspx?type=grbat" />
                  </rule>
             </rules>
         </rewrite>
       </system.webServer>
      

      使用

           <a href="EditGlobalTopic.aspx">Go</a>
      

      它会将您重定向到该页面。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-06-30
        • 2014-07-29
        • 2015-06-29
        • 1970-01-01
        • 2014-01-15
        • 2011-01-04
        • 1970-01-01
        • 2014-11-06
        相关资源
        最近更新 更多