Hopes

Start Here..

 

在AJAX支持的网站中使用想使用Response.Wrie(“”); 或 Page. RegisterStartupScript (); 弹出一些提示对话框,没有效果。

最近将以前做的一个项目进行了大的修改,页面使用AJAX进行无刷新改动,改完后发现原来程序中Response.Write("")都不能使用,后来找到一种方法,

可以使用 System.Web.UI.ScriptManager.RegisterStartupScript(Contrl control, Type type,string key,string script, bool addScriptTags)来达到相应的目的。

其中control是引起回发事件的控件ID,type客户端脚本类型,key脚本块标识,script要执行的脚本程序,addScriptTags 如果为true 则前面的脚本语句中不需要加标识若为false 则要写出完整的脚本语句实例:

ScriptManager.RegisterStartupScript(btnadd, this.GetType(), "ShowMessage", "alert('成功');",true)

或者另外种方法可以用HttpContext.Current.Handler来代替controlID,不过使用前需要转化为System.Web.UI.Page.

实例:

ScriptManager.RegisterStartupScript((System.Web.UI.Page)HttpContext.Current.Handler, this.GetType(), "ShowMessage", "alert('成功');", true);


在AJAX支持的网站中使用想使用Response.Wrie(“”); 或 Page. RegisterStartupScript (); 弹出一些提示对话框,没有效果。有如下解决方法:


(1) System.Web.UI.ScriptManager.RegisterStartupScript来替代Page.ClientScript.RegisterStartupScript
函数原型:
System.Web.UI.ScriptManager.RegisterStartupScript(Contrl control, Type type,string key,string script, bool addScriptTags);
参数:
control-----------------要要注册此段javascript语句的控件ID,如下面示例的按钮ID btnUnReport
type--------------------这个参数是注册脚本块控件的类型,即updatepanel的类型。一般直接用this.GetType()即可
key---------------------为要执行的javascirpt语句起的名字,可以随便起,类似控件的name属性
script------------------javascript语句
addScriptTags------为true时,前边的script参数可以不用再写javascript标签;为false,则需自己为script参数添加<script language=’javascript’></script>标签。

注:要多传一个Control参数,如果这个control在UpdatePanel里,则运行脚步,如果这个control不在UpdatePanel则不允许这段脚步。
例如:
System.Web.UI.ScriptManager.RegisterStartupScript(btnTestthis.GetType(), "test", "alert(''test'');window.close();", true);

posted on 2012-09-28 19:46 ** 阅读(1101) 评论(1)  编辑  收藏

评论

# re: 在AJAX支持的网站中使用想使用Response.Wrie(“”); 或 Page. RegisterStartupScript (); 弹出一些提示对话框,没有效果。[未登录] 2013-04-25 13:21 fd

dsds  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 

导航

统计

公告

你好!

常用链接

留言簿(2)

随笔档案

文章分类

文章档案

新闻档案

相册

收藏夹

C#学习

友情链接

搜索

最新评论

阅读排行榜

评论排行榜