一个关于updatepanel的有趣现象

前几天,同事碰到一个问题,帮忙看时。发现在updatepanel中的js脚本的服务器端变量不能刷新。

以下为重新现象代码:

 

代码
< form  id ="form1"  runat ="server" >
    
< div >
        
< asp:ScriptManager  ID ="ScriptManager1"  runat ="server" >
        
</ asp:ScriptManager >
        
< asp:UpdatePanel  ID ="UpdatePanel1"  runat ="server" >
            
< ContentTemplate >
                
< asp:Button  ID ="Button1"  runat ="server"  Text ="doPostBack"   />
                
< input  type ="button"  name ="ShowNow"  value ="ShowNow"  onclick ="showNow()"   />
                
<% = DateTime.Now.ToString()  %>
                
< script  type ="text/javascript" >
                    
function  showNow() {
                        alert(
" <%=DateTime.Now.ToString() %> " );
                    }
                
</ script >
            
</ ContentTemplate >
        
</ asp:UpdatePanel >
        
<% = DateTime.Now.ToString()  %>
    
</ div >
    
</ form >

 

代码内容很简单。当你点击doPostBack按钮后,updatepanel内的时间发生了变化(但js脚本的时间没有变),updatepanel外的时间没有变化。

以前还真不知道updatepanel更新时会过滤js中服务器端脚本。

不知道这算bug?还是设计本来就是如此?

你可能感兴趣的:(update)