基于ASP.NET的url重写的心得2008-04-18 09:08:03 来源:中国自学编程网 作者:佚名 点击:
1年前就接触过url重写,但一直没在实际项目中用过,今天项目基本调完也没啥事就尝试下url重写。 基于asp.net的urlrewrite 组件方面我并没有自己写 ![]() 1年前就接触过url重写,但一直没在实际项目中用过,今天项目基本调完也没啥事就尝试下url重写。 基于asp.net的urlrewrite 组件方面我并没有自己写,直接使用微软的URLRewriting 下载地址:http://download.microsoft.com/download/0/4/6/0463611e-a3f9-490d-a08c-877a83b797cf/MSDNURLRewriting.msi,因为要节省时间,而且理解了一般问题就不大了。 使用起来也很简单,只需要以下几步配置。
type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</modules> 匹配是用正则表达式的,所以还是得花点时间学下,之前一直懒,能不用就不用,看来还是逃不了,必须学哈。 不过在页面中如果有updatepanel或者async postback就会出现地址错误的情况,这个在老赵的文章里也有提到。 最简单的解决办法在该from里添加 Sys.Application.add_load(function() { var form = Sys.WebForms.PageRequestManager.getInstance()._form; form._initialAction = form.action = window.location.href; }); 但这样就是有用到的页面都要写比较麻烦,而且还会把实际地址暴露给客户端 所以另一种解决办法是使用Control Adaptor来改变Form生成时的行为。原文地址:http://www.cnblogs.com/JeffreyZhao/archive/2008/01/13/Url-Rewrite-3.html namespace ajaxURLRewrite ...{ public class FormRewriterControlAdapter : System.Web.UI.Adapters.ControlAdapter ...{ protected override void Render(HtmlTextWriter writer) ...{ base.Render(new RewriteFormHtmlTextWriter(writer)); } } public class RewriteFormHtmlTextWriter : HtmlTextWriter ...{ public RewriteFormHtmlTextWriter(HtmlTextWriter writer) : base(writer) ...{ this.InnerWriter = writer.InnerWriter; } public RewriteFormHtmlTextWriter(TextWriter writer) ![]()
|
|
||||
|
|
||||
|
|
|
||||
|
|
||||
|
|
|
||||
|
|
||||
|
|