单击后,我页面上的链接将重定向到:
http://www.abc.com/document.aspx?sid=42&rid=1&mid=1
我想在地址栏中显示为:
http://www.abc.com/models/childfirst/inbrief
在哪里
models
成为rid
childfirst
成为sid
inbried
成为mid
我怎样才能做到这一点?
单击后,我页面上的链接将重定向到:
http://www.abc.com/document.aspx?sid=42&rid=1&mid=1
我想在地址栏中显示为:
http://www.abc.com/models/childfirst/inbrief
在哪里
models
成为rid
childfirst
成为sid
inbried
成为mid
我怎样才能做到这一点?
达斯汀莱恩,我已经尝试了您提供的链接并尝试了这个,但它一直重定向到同一页面,
<rewriter>
<rewrite url="/models/(.+)" to="/document.aspx?sid=$1&rid=$2&mid=$3" />
<rewrite url="/implementation/(.+)" to="/document.aspx?sid=$1&rid=$2&mid=$3" />
<rewrite url="/outcomes/(.+)" to="/document.aspx?sid=$1&rid=$2&mid=$3" />
<rewrite url="/publications/(.+)" to="/document.aspx?rid=$1&sid=$2&mid=$3" />
<rewrite url="/help/(.+)" to="/document.aspx?rid=$1&sid=$2&mid=$3" />
<rewrite url="/aboutus/(.+)" to="/document.aspx?rid=$1&sid=$2&mid=$3" />
<rewrite url="/review/(.+)" to="/document.aspx?rid=$1&sid=$2&mid=$3" />
</rewriter>
我认为它不是 $1,$2,$3 的值,因为在我的目标 url 中它就像 /document.aspx?sid=42&rid=1&mid=1 但是当我输入 url 时这是 /models/childfirst/inbrief。
路由表:
http://msdn.microsoft.com/en-us/library/cc668201%28v=vs.100%29.aspx
您还可以使用路由表,
全球.asax
RegisterRoutes(RouteTable.Routes); 在 application_onstart
然后创建所需的路线:
routes.MapPageRoute("name", "section/{category}", "~/section/index.aspx");
那么你可以使用:
_value = Page.RouteData.Values["category"] 作为字符串;
获取每个部分的数据。
我过去曾为 .NET 3.5 使用过 urlrewriter,它的效果非常好。
*链接已删除,因为它不再是工具。