如何解决.NET URL重写导致POST提交后地址变为原地址的问题?

2026-04-02 02:071阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计303个文字,预计阅读时间需要2分钟。

如何解决.NET URL重写导致POST提交后地址变为原地址的问题?

在 .NET 中,如果URL重写POST提交后的地址变为原始地址,可以通过让Page类继承自OLPage类来实现。以下是简化后的代码示例:

csharppublic partial class Bottom : gcy.Utility.OLPage{ protected void Page_Load(object sender, EventArgs e) { // 在这里编写页面加载时的代码 }}

.net 中URL 重写post提交后的地址变为了原地址
让Page类继承OLPage 类就可以了,如:public partial class Bottom : gcy.Utility.OLPage
{
protected void Page_Load(object sender, EventArgs e)
{ }
}-----------------------------------------------------------------------
gcy.Utility namespace :using System;
using System.IO;
using System.Web;
using System.Web.UI;
namespace gcy.Utility
{
public class OLPage : Page
{
public OLPage()
{

}
protected override void Render(HtmlTextWriter writer)
{
if (writer is System.Web.UI.Html32TextWriter)
{
writer = new FormFixerHtml32TextWriter(writer.InnerWriter);
}
else
{
writer = new FormFixerHtmlTextWriter(writer.InnerWriter);
}
base.Render(writer);
}
} internal class FormFixerHtml32TextWriter : System.Web.UI.Html32TextWriter
{
private string _url; // 假的URL
internal FormFixerHtml32TextWriter(TextWriter writer):base(writer)
{
_url = HttpContext.Current.Request.RawUrl;
}
public override void WriteAttribute(string name,string value,bool encode)
{
if (_url != null && string.Compare(name,"action",true) == 0)
{
value = _url;
}
base.WriteAttribute(name,value,encode);
}
}
internal class FormFixerHtmlTextWriter : System.Web.UI.HtmlTextWriter
{
private string _url;
internal FormFixerHtmlTextWriter(TextWriter writer):base(writer)
{
_url = HttpContext.Current.Request.RawUrl;
}
public override void WriteAttribute(string name,string value,bool encode)
{
if (_url != null && string.Compare(name,"action",true) == 0)
{
value = _url;
}
base.WriteAttribute(name,value,encode);
}
}}

如何解决.NET URL重写导致POST提交后地址变为原地址的问题?
标签:地址

本文共计303个文字,预计阅读时间需要2分钟。

如何解决.NET URL重写导致POST提交后地址变为原地址的问题?

在 .NET 中,如果URL重写POST提交后的地址变为原始地址,可以通过让Page类继承自OLPage类来实现。以下是简化后的代码示例:

csharppublic partial class Bottom : gcy.Utility.OLPage{ protected void Page_Load(object sender, EventArgs e) { // 在这里编写页面加载时的代码 }}

.net 中URL 重写post提交后的地址变为了原地址
让Page类继承OLPage 类就可以了,如:public partial class Bottom : gcy.Utility.OLPage
{
protected void Page_Load(object sender, EventArgs e)
{ }
}-----------------------------------------------------------------------
gcy.Utility namespace :using System;
using System.IO;
using System.Web;
using System.Web.UI;
namespace gcy.Utility
{
public class OLPage : Page
{
public OLPage()
{

}
protected override void Render(HtmlTextWriter writer)
{
if (writer is System.Web.UI.Html32TextWriter)
{
writer = new FormFixerHtml32TextWriter(writer.InnerWriter);
}
else
{
writer = new FormFixerHtmlTextWriter(writer.InnerWriter);
}
base.Render(writer);
}
} internal class FormFixerHtml32TextWriter : System.Web.UI.Html32TextWriter
{
private string _url; // 假的URL
internal FormFixerHtml32TextWriter(TextWriter writer):base(writer)
{
_url = HttpContext.Current.Request.RawUrl;
}
public override void WriteAttribute(string name,string value,bool encode)
{
if (_url != null && string.Compare(name,"action",true) == 0)
{
value = _url;
}
base.WriteAttribute(name,value,encode);
}
}
internal class FormFixerHtmlTextWriter : System.Web.UI.HtmlTextWriter
{
private string _url;
internal FormFixerHtmlTextWriter(TextWriter writer):base(writer)
{
_url = HttpContext.Current.Request.RawUrl;
}
public override void WriteAttribute(string name,string value,bool encode)
{
if (_url != null && string.Compare(name,"action",true) == 0)
{
value = _url;
}
base.WriteAttribute(name,value,encode);
}
}}

如何解决.NET URL重写导致POST提交后地址变为原地址的问题?
标签:地址