0

我刚刚从 ASP .NET MVC 应用程序退后一步,并移至 ASP .NET Web 窗体,我想知道是否也可以在 Web 窗体中重写 url。我有以下一组要 reqrite 的 URL:

  • 编辑.aspx?type=grbat
  • 编辑.aspx?type=lrbat
  • 编辑.aspx?type=glsi
  • 编辑.aspx?type=llsi

如您所见,一切都在一页上进行。

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

  • 编辑GlobalTopic.aspx
  • 编辑LocalTopic.aspx
  • 编辑GlobalInitiative.aspx
  • 编辑LocalInitiative.aspx

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

谢谢

4

3 回答 3

3

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

我过去使用过它,并且能够快速创建友好的 URL。

于 2012-08-06T10:34:14.357 回答
1

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

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

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

于 2012-08-06T10:14:16.793 回答
0

您好,您可以使用 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>

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

于 2017-07-18T07:17:29.013 回答