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
查看全文
相关阅读:
车辆调度管理系统开发(八)
车辆调度管理系统开发(七)
车辆调度管理系统开发(六)
车辆调度管理系统开发(五)
车辆调度管理系统开发(四)
设计模式
webpack配置
ECharts 配置语法
react性能
web安全
原文地址:https://www.cnblogs.com/kaima/p/604758.html
最新文章
一些Titanium学习的地方
Titanium.App.Properties 对象
Titanium.UI.createAlertDialog
ASP.NET的六大内置对象
ExtPB.Net:窗体应用技巧(2)在树形导航下打开弹出的win窗口
实践网页链接启动应用附带参数
letsencrypt 证书更新
再见2018
nginx 添加代理
beego 框架入门
热门文章
go 准备
新篇章,Golang 和 beego 初识
centos 下git服务器搭建
how-to-add-global-asp-net-web-api-filters
上传文件时出现 不支持给定路径的格式..异常信息
金课设计《ASP.NET-车辆派遣管理系统》(三)
金课设计《ASP.NET-车辆派遣管理系统》(二)
金课设计《ASP.NET-车辆派遣管理系统》(一)
车辆调度管理系统开发(十) (有燃尽图)
车辆调度管理系统开发(九)
Copyright © 2011-2022 走看看