Kai的世界,道法自然
Javascript,jQuery,ajax,Asp.net,VS2008
博客园
社区
首页
新随笔
联系
管理
订阅
随笔- 84 文章- 23 评论- 752
也谈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
posted @ 2006-12-27 12:08
Kai.Ma
阅读(2671)
评论(10)
编辑
收藏
网摘
所属分类:
Net 2.0 & AJAX & Javascript
发表评论
1367634
回复
引用
查看
#1楼
2006-12-27 13:11 |
阿不
又是一种办法,不管什么办法,都是改变action的值。
回复
引用
查看
#2楼
2006-12-27 20:28 |
Jeffrey Zhao
:)
回复
引用
查看
#3楼
2006-12-28 14:23 |
阿不
@Kai.Ma
你连续PostBack三次试试看.我的第三次PostBack照样出错.
回复
引用
查看
#4楼
2006-12-28 14:35 |
阿不
似乎在ansypostback的时候,它并不是用这个方法来写action的值的。我的调试结果是这样的。
回复
引用
查看
#5楼
2006-12-28 14:38 |
阿不
OK,no problem ,我原来是直接调用
base.Render(new ActionlessHtmlTextWriter(writer));
不修改writer对象。可它一定要求要修改writer才行。晕
回复
引用
#6楼
2007-01-04 09:58 |
cnlamar[匿名][未注册用户]
不需要三次,这个方法我一直在用,第2次开始就会错误,原因很简单,aspnetajax的form不是页面上见到的那个.
回复
引用
查看
#7楼
2007-01-05 11:10 |
有容乃大
原来也是用重写了一个Form类,感觉很不方便。非常感谢楼主。
回复
引用
#8楼
2007-11-15 20:44 |
kerry jiang[未注册用户]
OnLoadComplete 里面把path再Rewrite回来
回复
引用
查看
#9楼
2007-12-21 13:22 |
江大鱼
http://www.cnblogs.com/jzywh/archive/2007/12/20/urlrewriteaction.html
" target="_new">
http://www.cnblogs.com/jzywh/archive/2007/12/20/urlrewriteaction.html
回复
引用
查看
#10楼
2008-11-12 09:57 |
Jeffrey Zhao
清空?没有清空啊,是修改为URL。
你这个方法耦合度太高,标准方法是用FormAdaptor
刷新评论列表
刷新页面
返回页首
发表评论
昵称:
[登录]
[注册]
主页:
邮箱:
(仅博主可见)
验证码:
看不清,换一个
评论内容:
登录
注册
[使用Ctrl+Enter键快速提交评论]
0
604758
链接:
切换模板
导航:
网站首页
社区
新闻
博问
闪存
网摘
招聘
找找看
Google搜索
China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
China-Pub 计算机绝版图书按需印刷服务
相关文章:
最新IT新闻:
Google号召社区力量为互联网加速
Twitter无处不在 魔兽世界Twitter发送器插件发布
Firefox 3.5匆忙推出漏洞多 Mozilla本月将更新
预测:Twitter最可能收购的十家公司
网易澄清:与暴雪合资公司仅提供技术支持
相关链接:
公告
您有问题请直接在blog上提即可
网名:Kai.Ma
常住:北京
原籍:湖南
职业:WEB架构师
MSN:kai521(AT)msn.com
最近在读的书
与我联系
发短消息
搜索
随笔分类
ASP.NET MVC Framework(3)
(rss)
Net 2.0 & AJAX & Javascript(24)
(rss)
Net 3.5 & SilverLight(5)
(rss)
开发环境(20)
(rss)
数据库(2)
(rss)
琐即生活(15)
(rss)
在线生成网页缩略图(WebSnap)(4)
(rss)
文章分类
[收藏夹]Ajax/JQuery/Javascript(4)
(rss)
[收藏夹]W3C标准开发(2)
(rss)
[收藏夹]开发工具/环境设置(3)
(rss)
[收藏夹]开发规范(7)
(rss)
[收藏夹]儒释道(1)
(rss)
[收藏夹]设计模式(5)
(rss)
[收藏夹]数据结构(1)
(rss)
[收藏夹]数据库(1)
(rss)
朋友的博客
欧科波尔
北京网站建设和网络营销策划的专业公司
拓荒者
天行健,君子当自强不自息
儒、释、道
净空法师专辑网站
重要网站
code.google.com
MSDN Code Gallery
Shine Draw
图书比价-17比较网
Google搜索
积分与排名
积分 - 122547
排名 - 435
最新评论
1. re: 在线抓图WebSnap Beta 1.2 更新
有个很奇怪的问题,项目中引入后,捕获其他网站的缩略图没问题。 但不能捕获本地的连接,也就是同一个IIS下的页面,甚至纯HTML都无法捕获,显示超时错误。 我猜是STA锁死某进程引起的。... (vboy2009)
2. re: SilverLight开发系列第2步:使用vs2008和Blend 2.5打造Hellow World程序
你好,我现在装完后运行什么都正常,Expression Blend 2 Service Pack 1也装上去了可以用,但在XAML页面的时候,VS2008没有提示,也没有设计区,这个可能是哪一部没有装... (wuxiaoqqqq)
3. re: Silverlight视频教程、资源下载。如果你觉得看图文不够形象,不够生动,那就看看视频吧。
靠,这么好的视频 第一次见,谢谢啊 (fsdf323)
4. re: 自己总结的jQuery点滴以及各种jQuery古怪问题
jQuery 1.3.2IE中<li name="abc"></li>,$(li[name=abc]).length==0也就是说无法通过name获取非表单... (makai)
5. re: 修复Jscript(IE浏览器脚本引擎)异常
谢谢你,我发现无法显示系统还原,搜索到你的办法试了一下,系统还原正常了。嘿嘿\(^o^)/~ (高书华)
6. re: Asp.net页面的生命周期之通俗理解
赞~~~ (KKcat)
7. re: 团队最近招人,我出的几个笔试题,希望不是“鄙视题”
1。不玩.net 不清楚。 2。dojo jquery ExtJS prototype YUI DED\chain 都不错,哈哈但我基本都用自己做的库。 3. 整天走大道和捷径,都腻歪了。幽静小道... (zowell)
8. re: 老子简介
老子是个伟大的哲学家。
天下难事,必做于易;天下大事,必做于细 (zowell)
9. re: 呵呵,今天偶然看到了我最早期的商业网站作品
我是一个就要毕业的学生 , 看了你的作品.感觉很不错的 .
有很多的地方值得我去学习,
想知道怎么实现简体、英文、中文繁体语言的转换 的.
QQ 807039705 (lanzi)
10. re: 呵呵,今天偶然看到了我最早期的商业网站作品
我还没有毕业的, 不过就要毕业了.
看了你的作品,感觉真的很不错的. 很多地方值得学习的.
(lanzi)
评论排行榜
1. 【下载源码】在线生成网页缩略图.超越Snap.com:WebSnap Beta 1.1 发布。感谢博客园的“萧寒”重写的底层。开源。(145)
2. 团队最近招人,我出的几个笔试题,希望不是“鄙视题”(91)
3. 中国的软件人才是靠挖的(58)
4. 向高级Javascript程序员阵营迈进:Javascript一些概念研究总结(36)
5. 湖南长沙火车站,我为你感到羞愧。(30)
6. ASP.NET中上传多文件时,用日期时间命名新文件,这不是个好主意。(23)
7. 一个典型的数据库操作事务死锁分析(22)
8. SilverLight开发系列第2步:使用vs2008和Blend 2.5打造Hellow World程序(21)
9. 初来乍到,发布一个杀手应用:snap.com的web预览图功能,我给它取名叫“WebSnap”(21)
10. Vss2005局域网开发权限设置指南(20)