问题描述
下面JS代码在页面加载时是没有问题的,但在timer控件刷新调用JS时会出错。原因可能是传入的参数gridviewID在服务器端已经有了变化。前台JS代码$window.load(function(){setGridviewRowHeght(<%=Gridview1.ClientID%>);setGridviewRowHeght(<%=Gridview2.ClientID%>);});varMax_rowcount=Gridview1.row.count>Gridview2.row.count?Gridview1.row.count:Gridview2.row.count;FunctionsetGridviewRowHeght(GridviewID){varAllrows=document.getElmentById(GridviewID).getElmentByTagName("tr");varrowHeight=ScreenHeight/Max_rowcount;for(vari=0;i<AllRows.length;i++){AllRow[i].style.height=rowHeight;}后台代码:protectvoidgridview1_data_rowbound(){//后台调用前台JS设置行高函数重置每行行高ScriptManager.RegisterStartupScript(UpdatePanel1,this.Page.GetType(),"","setGridviewRowHeght(Gridview1);",true);}
解决方案
解决方案二:
自己顶一下!高手过来指教下,如何处理JS下的varAllrows=document.getElmentById(GridviewID).getElmentByTagName("tr");这句话在TImer刷新时出错。
解决方案三:
setGridviewRowHeght(Gridview1);这里的Gridview1是不对的。控件的客户端id是使用控件的ClientID属性动态获得的,不是写死的。