解决ASP.NET AJAX脚本的错误问题

1. 画面迁移应该使用执行画面重定向的Response.Redirect而不是Server.Transfer,因为Server.Transfer不改变IE客户端URL,会导致ASP.NET AJAX脚本访问资源的时候出现URL错误。

2.在服务器端注册脚本和隐藏字段应该使用类ScriptManager,而不是Page.ClientScript对象,因为Page.ClientScript的方法是将脚本注册给全局对象,会导致如果进行局部更新,这些脚本不会送到客户端,而ScriptManager的方法正相反。ScriptManager类不管画面上有没有ScriptManager控件都可以使用。

3.把要进行局部更新的事件源控件和要进行的控件都放入到UpdatePanel中,如果只是被更新的控件放在UpdatePanel中,而事件源控件在UpdatePanel外一样会触发回发事件刷新屏幕。

4.把更新时涉及到的隐藏字段和隐藏控件也都放到UpdatePanel中。如果隐藏字段不放到UpdatePanel中,更新的时候就无法修改它的值,同理要操作的隐藏控件不在UpdatePanel中也无法对其进行操作。

相关推荐