semye-静心

积累,点点滴滴
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

感谢编码王

Posted on 2007-01-10 13:20  semye  阅读(451)  评论(3)    收藏  举报
一段C#代码,在后台发出客户端脚本,实现动态添加表格内容 ,第一次写时用了注释掉的那段代码,结果是添加的内容显示的位置混乱,呵呵,实在不好意思写出来了,这是非常基础的东西,  每一句Page.RegisterStartupScript(string key,stirng script)都是发出单独的一段脚本,而我只用了一个
<script language='javascript'>")和</script>,而且多句Page.RegisterStartupScript(string key,stirng script)执行的顺序也是我想要的结果,后来试了下用
Response.Write(),一样不行,报document.getElementById('viewData').这个不存在,原来Response.Write()和RegisterClientScriptBlock()一样,是在页面加载时执行的,而Page.RegisterStartupScript(string key,stirng script)是在事件触发执行的,这个才能满足我的要求,还是要用回这个,后来用最后那段代码解决了,也就是先把要添加的JS代码先生成一个串。看来还是得花点心思搞清楚这些属性的原理,弄明白代码执行的顺序。虽然是个简单的问题,但也让我明白了一些东西,在此还是要感谢我们部门的编码王给了我指点。
期待各位高手给我更多的指点……

1
                string sNewRow = "newRow=document.getElementById('viewData').insertRow();";
 2                string sNewCell = "newcell=newRow.insertCell();";
 3                string sCellCode = "newcell.innerHTML='<input name=TRNo0 type=text  value="+sCd+" size=5 readonly >';";
 4                string sCellCname = "newcell.innerHTML='<input name=TRNo1 type=text  value="+sCname+" size=5 readonly >';";
 5                string sCellEname = "newcell.innerHTML='<input name=TRNo2 type=text  value="+sEname+" size=5 readonly >';";
 6                string sCellCountry = "newcell.innerHTML='<input name=TRNo3 type=text  value="+sCountryId+" size=5 readonly >';";
 7    //                Page.RegisterStartupScript("begin","<script language='javascript'>");
 8    //                Page.RegisterStartupScript("sNewRow",sNewRow);
 9    //                //1
10    //                Page.RegisterStartupScript("sNewCell0",sNewCell);
11    //                Page.RegisterStartupScript("sCellCode",sCellCode);
12    //                //2
13    //                Page.RegisterStartupScript("sNewCell1",sNewCell);
14    //                Page.RegisterStartupScript("sCellCname",sCellCname);
15    //                
16    //                //3
17    //                Page.RegisterStartupScript("sNewCell2",sNewCell);
18    //                Page.RegisterStartupScript("sCellEname",sCellEname);
19    //                //4
20    //                Page.RegisterStartupScript("sNewCell3",sNewCell);
21    //                Page.RegisterStartupScript("asCellCountry",sCellCountry);
22    //
23    //                Page.RegisterStartupScript("bend","</script>");
24
25               string   AllScript="<script language='javascript'>"+sNewRow+sNewCell+sCellCode+sNewCell+sCellCname
26                        +sNewCell+sCellEname+sNewCell+sCellCountry+"</script>";
27                if(!this.IsStartupScriptRegistered("title"))                 
28               { Page.RegisterStartupScript("title",AllScript);}
29