一段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
<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
// //110
// Page.RegisterStartupScript("sNewCell0",sNewCell);11
// Page.RegisterStartupScript("sCellCode",sCellCode);12
// //213
// Page.RegisterStartupScript("sNewCell1",sNewCell);14
// Page.RegisterStartupScript("sCellCname",sCellCname);15
// 16
// //317
// Page.RegisterStartupScript("sNewCell2",sNewCell);18
// Page.RegisterStartupScript("sCellEname",sCellEname);19
// //420
// 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+sCellCname26
+sNewCell+sCellEname+sNewCell+sCellCountry+"</script>";27
if(!this.IsStartupScriptRegistered("title")) 28
{ Page.RegisterStartupScript("title",AllScript);}29

浙公网安备 33010602011771号