Url重写之action改变的问题
来源:互联网 发布:python读取word文档 编辑:程序博客网 时间:2024/05/01 18:07
namespace ActionlessForm {
public class Form : System.Web.UI.HtmlControls.HtmlForm
{
protected override void RenderAttributes(HtmlTextWriter writer)
{
writer.WriteAttribute("name", this.Name);
base.Attributes.Remove("name");
writer.WriteAttribute("method", this.Method);
base.Attributes.Remove("method");
this.Attributes.Render(writer);
base.Attributes.Remove("action");
if (base.ID != null)
writer.WriteAttribute("id", base.ClientID);
}
}
}
<%@ Register TagPrefix="skm" Namespace="ActionlessForm"
Assembly="ActionlessForm" %>
然后,将 <form runat="server">(如果有)替换为:
<skm:Form id="Form1" method="post" runat="server">
并将右边的 </form> 标记替换为:
</skm:Form>
---或者
using System;
using System.IO;
using System.Web;
using System.Web.UI;
namespace URl
{
/**//// <summary>
/// 页面基类
/// </summary>
public class OLPage : Page
{
public OLPage()
{
}
/**//// <summary>
/// 重写默认的HtmlTextWriter方法,修改form标记中的value属性,使其值为重写的URL而不是真实URL。
/// </summary>
/// <param name="writer"></param>
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)
{
// 如果当前输出的属性为form标记的action属性,则将其值替换为重写后的虚假URL
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);
}
}
}
- Url重写之action改变的问题
- Url重写之action改变的问题
- Url重写之action改变的问题
- URL重写中,重写Form的Action属性。
- Magento的URL重写问题
- Magento的URL重写问题
- struts的Action里,跳转和重写URL带参数
- URL重写 时遇到的问题
- 关于URLRewriter重写URL的问题...
- IIS下的URL重写无效问题
- url重写可能存在的性能问题
- THNIKPHP URL重写不成功的问题
- URL重写之ISAPI_Rewrite的应用
- Url重写之我的最终总结
- Url重写问题????
- URL重写问题
- URL重写问题
- URL重写问题
- XML文檔的讀取
- 图形程序运行的条件
- 还是"搬家"吧!
- 谈谈TC256图形函数库的使用方法
- 256色调色板与Alpha混合
- Url重写之action改变的问题
- 中国历史上的十大定律
- 看到某人的签名,觉得挺好玩,留个备份在自己的blog上。
- data abort
- 嵌入式人才的发展方向
- 关于SQL数据删除
- 作为一个软件工程师的经验
- windows xp的密钥
- 2006-5-8 UBB 输入, 简朴方法 与 提示框——Javascript&FORM By Stabx