Request的参数能重写吗?
加了一个httpModules
//从网上找了一个例子,想过滤一下Request参数,但提示Request.Form和Querystring是只读的
//如何才能重新设置一个新的Request送到页面?
public class MyHandlerFactory : IHttpHandlerFactory
{
public IHttpHandler GetHandler(HttpContext context, string requestType, string url, string pathTranslated)
{
PageHandlerFactory factory = (PageHandlerFactory)Activator.CreateInstance(typeof(PageHandlerFactory), true);
IHttpHandler handler = factory.GetHandler(context, requestType, url, pathTranslated);
//执行一些其它操作
Execute(handler);
return handler;
}
private void Execute(IHttpHandler handler)
{
if (handler is Page)
{
//可以直接对Page对象进行操作
((Page)handler).PreLoad += new EventHandler(MyHandlerFactory_PreLoad);
}
}
void MyHandlerFactory_PreLoad(object sender, EventArgs e)
{
//((Page)sender).Response.Write("Copyright @Gspring<br/>");
//处理contxt 过滤危险字符测试
Page h = (Page)sender;
for (int i = 0; i < h.Request.QueryString.Count; i++)
{
string key = h.Request.QueryString.GetKey(i);
string value = h.Request.QueryString[i].ToString();
//想在这里重新设置一下Request.QueryString的值
}
for (int i = 0; i < h.Request.Form.Count; i++)
{
string key = h.Request.Form.GetKey(i);
string value = h.Request.Form[i].ToString();
//想在这里重新设置一下Request.Form的值
}
}
///
//从网上找了一个例子,想过滤一下Request参数,但提示Request.Form和Querystring是只读的
//如何才能重新设置一个新的Request送到页面?
public class MyHandlerFactory : IHttpHandlerFactory
{
public IHttpHandler GetHandler(HttpContext context, string requestType, string url, string pathTranslated)
{
PageHandlerFactory factory = (PageHandlerFactory)Activator.CreateInstance(typeof(PageHandlerFactory), true);
IHttpHandler handler = factory.GetHandler(context, requestType, url, pathTranslated);
//执行一些其它操作
Execute(handler);
return handler;
}
private void Execute(IHttpHandler handler)
{
if (handler is Page)
{
//可以直接对Page对象进行操作
((Page)handler).PreLoad += new EventHandler(MyHandlerFactory_PreLoad);
}
}
void MyHandlerFactory_PreLoad(object sender, EventArgs e)
{
//((Page)sender).Response.Write("Copyright @Gspring<br/>");
//处理contxt 过滤危险字符测试
Page h = (Page)sender;
for (int i = 0; i < h.Request.QueryString.Count; i++)
{
string key = h.Request.QueryString.GetKey(i);
string value = h.Request.QueryString[i].ToString();
//想在这里重新设置一下Request.QueryString的值
}
for (int i = 0; i < h.Request.Form.Count; i++)
{
string key = h.Request.Form.GetKey(i);
string value = h.Request.Form[i].ToString();
//想在这里重新设置一下Request.Form的值
}
}
///
...全文
相关推荐
VS2005URL重写(多参数使用)
实现VS2005下URL重写,进行多参数设置,通过App_Browsers进行回发处理
java request.getParameter中文乱码解决方法
今天跟大家分享几个解决java Web开发中,request.getParameter()获取URL中文参数乱码的解决办法,需要的朋友可以参考下
request请求获取参数的实现方法(post和get两种方式)
下面小编就为大家带来一篇request请求获取参数的实现方法(post和get两种方式)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
ASP.NETweb网站Url重写,地址栏重写
Url重写,Url重写,asp.enturl重写,c#,ASP.NETweb网站Url重写,地址栏重写
URL重写URL重写URL重写
URL重写URL重写URL重写URL重写URL重写URL重写


