zoukankan
html css js c++ java
也谈UpdatePanel与UrlRewrite一起work时出现Form Action属性的问题
首先感谢老赵写了一篇文章,
http://www.cnblogs.com/JeffreyZhao/archive/2006/12/27/604373.aspx#post
其实出现这个问题,根本不是MS Ajax的失误,完全是我们没有用好URLRewrite这个东西的原因。
老赵的解决方法是重写了一个Form类,把原来的Form的Action给清空了。
能否正常工作我不知道,但是我认为“清空”,“利用默认属性”这样一类的做法是很危险的。~~~
重写Form类的,引用也有点麻烦,我觉的重写一个Page,比较方便。我在
www.365rss.cn
中的做法如下:
using
System;
using
System.IO;
using
System.Web;
using
System.Web.UI;
namespace
okpower.Utility
{
/**/
///
<summary>
///
URLRewrite 页面基类
///
作者:Kai.Ma
http://kaima.cnblogs.com
///
</summary>
public
class
URLRewritePage : Page
{
public
URLRewritePage()
{
}
protected
override
void
Render(HtmlTextWriter writer)
{
writer
=
new
FormFixerHtmlTextWriter(writer.InnerWriter);
base
.Render(writer);
}
}
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)
{
//
如果当前输出的属性为form标记的action属性,则将其值替换为重写后的虚假URL
if
(_url
!=
null
&&
string
.Compare(name,
"
action
"
,
true
)
==
0
)
{
value
=
_url;
}
base
.WriteAttribute(name, value, encode);
}
}
}
以后继承这个URLRewritePage就可以了,甚至可以进web.config设置,一劳永逸。
欢迎交流
本博客所有随笔,若未明确标示为转载或未带有原文链接,皆为原创。
本博客所有随笔版权归博客园和kai.ma所有,欢迎转载,转载请保留:
出处:http://kaima.cnblogs.com
作者:kai.ma
查看全文
相关阅读:
HDOJ 1000 A + B Problem C++解法
HDU之旅
C++primer plus第六版课后编程题答案8.8
C++primer plus第六版课后编程题答案8.6
C++primer plus第六版课后编程题答案8.5
C++primer plus第六版课后编程题答案8.3(正解)
C语言练手自己编写学生成绩管理系统
C_数据结构
C---数组名作函数参数
C---通过指针访问数组
原文地址:https://www.cnblogs.com/kaima/p/604758.html
最新文章
mysql一些常用的查询语句总结
php网站修改默认访问文件的nginx配置
php中的curl_multi的应用(php多进程)
php程序员未来路在何方
php程序员发展建议
爱壁纸-小组会议(二)
spring任务计划
敏捷软件开发
读入英文文章,输出频率最高10个单词
敏捷开发方法概述
热门文章
电梯调度(续)
求二维整数数组最大子数组和
电梯调度
第二次课上带电脑喽-----求整数数组子数组的最大和
学习软件单元测试
软件工程个人小程序:分析一个文本文件(英文文章)中各个词出现的频率,并且把频率最高的10个词打印出来
C++primer plus第六版课后编程题答案9.1
C++常见错误中英文对照表
e ,CSDN的博客搬家
HODJ 1001 Sum Problem C++解法
Copyright © 2011-2022 走看看