当前位置:Gxlcms > asp.net > asp.net url重写浅谈

asp.net url重写浅谈

时间:2021-07-01 10:21:17 帮助过:43人阅读

ActionlessForm.dll------用来处理回发
URLRewriter.dll----- 是微软封装好了的一个URL重写组件
添加引用----
具体的使用说明请去看
http://msdn.microsoft.com/zh-cn/library/ms972974.aspx#XSLTsection123121120120
比我说得好得多。。
具体使用方法:
首先web.config的配置:
代码如下:
  1. <br><?xml version="1.0"?> <br><configuration> <br><configSections> <br><section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, <br>URLRewriter" /> <br></configSections> <br><RewriterConfig> <br><Rules> <br><RewriterRule> <br><LookFor>~/ListCategories\.aspx</LookFor> <br><SendTo>~/Default.aspx</SendTo> <br></RewriterRule> <br><RewriterRule> <br><LookFor>~/(\d+)\.html</LookFor> <br><SendTo>~/Cover.aspx?id=$1</SendTo> <br></RewriterRule> <br></Rules> <br></RewriterConfig> <br><system.web> <br><httpModules> <br><add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter"/> <br></httpModules> <br><compilation debug="true"/> <br></system.web> <br></configuration> <br> <br>主要配置的代码是这些。其他的根据自己的需要和.net的版本自行添加。 <br>然后Default.aspx,Cover.aspx,新建2个页面 <br>Default.aspx: <br><span><u></u></span> 代码如下:<pre class="brush:php;toolbar:false layui-box layui-code-view layui-code-notepad"><ol class="layui-code-ol"><li><br><%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <br><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <br><html xmlns="http://www.w3.org/1999/xhtml"> <br><head runat="server"> <br><title>无标题页</title> <br></head> <br><body> <br><form id="form1" runat="server"> <br><div> <br><a href="ListCategories.aspx">ListCategories.aspx</a> <br><a href="30.html">30.html</a> <br></div> <br></form> <br></body> <br></html> <br> <br>Cover.aspx: <br><span><u></u></span> 代码如下:<pre class="brush:php;toolbar:false layui-box layui-code-view layui-code-notepad"><ol class="layui-code-ol"><li><br><%@ Page Language="C#" AutoEventWireup="true" CodeFile="Cover.aspx.cs" Inherits="Cover" %> <br><%@ Register TagPrefix="skm" Namespace="ActionlessForm" Assembly="ActionlessForm" %> <br><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <br><html xmlns="http://www.w3.org/1999/xhtml"> <br><head runat="server"> <br><title>Cover</title> <br></head> <br><body> <br><skm:form id="form1" runat="server"> <br><div> <br>Cover页面 <br><h4><a href="javascript:void(0)" onclick="history.go(-1)">返回上一页</a></h4> <br><asp:Button ID="Button1" runat="server" Text="Button" /> <br></div> <br></skm:form> <br></body> <br></html> <br> <br>Cover.aspx.cs: <br><span><u></u></span> 代码如下:<pre class="brush:php;toolbar:false layui-box layui-code-view layui-code-notepad"><ol class="layui-code-ol"><li><br>using System; <br>using System.Collections; <br>using System.Configuration; <br>using System.Data; <br>using System.Linq; <br>using System.Web; <br>using System.Web.Security; <br>using System.Web.UI; <br>using System.Web.UI.HtmlControls; <br>using System.Web.UI.WebControls; <br>using System.Web.UI.WebControls.WebParts; <br>using System.Xml.Linq; <br>public partial class Cover : System.Web.UI.Page <br>{ <br>protected void Page_Load(object sender, EventArgs e) <br>{ <br>if (Request.QueryString["id"] == null) <br>{ <br>Response.End(); <br>} <br>else <br>{ <br>int id = Convert.ToInt32(Request.QueryString["id"]); <br>Response.Write(id); <br>} <br>} <br>} <br><br></li><li><p>还要去对iis设置:</p></li><li><p><img src="https://img.gxlcms.com//Uploads-s/new/2019-09-19-201919/20091017154827348.jpg" border="0"></p></li><li><p>这样的话伪静态就可以用了<br>C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll ---这是上面的路径</p></li><li><p>浏览Default.aspx页</p></li><li><p><span style="COLOR: #000000">ListCategories.aspx --页面其实在服务器上面是没有的。它里面的内容是</span>Default.aspx的内容,因为配置文件里面设置了</p></li><li><p>写得有点乱。</p></li><li><p>本例子是和微软的重写url基本一样的。算是简单化了一点点呵呵。</p></li><li> </li><li> </li></ol></pre></li></ol></pre></li></ol></pre>

人气教程排行