none
包含gridview的js代码在添加了updatepanel报错 RRS feed

  • 问题

  • js代码是实现方向键在gridview上下移动和选择的,不添加ajax的updatepanel能运行,添加了updatapanel后报Microsoft JScript 运行时错误: 'cells' 为空或不是对象,好像还报过rowIndex的错,js代码如下:
      <style>
             .lightrow{color:red;}
         </style>
      
           


     

         <script type="text/javascript">

            var lightCss = "lightrow";
            var curRow = null;
            function keyDown()
            {
                var key = event.keyCode;
                var obj = curRow;
                switch(key)
                {
                    case 13://Enter key
                   
                        document.getElementById("TextBox2").value=obj.cells[1].innerText;
                       

                        break;
                    case 38://up key
                        if(obj.rowIndex>1)
                        {
                            curRow.className = "";
                            curRow=obj.previousSibling;
                            curRow.className = lightCss;
                        }
                        break;
                
                    case 40://down key
                        if(obj.rowIndex<obj.parentNode.rows.length-1)
                        {
                            curRow.className = "";
                            curRow=obj.nextSibling;
                            curRow.className = lightCss;
                        }
                        break;
                }
            }
            document.onkeydown=keyDown;
            window.onload=function()
            {
           
                 var GridView2 = document.getElementById("GridView2");
                  if(GridView2!=null)
                {

                 curRow = GridView2.rows[1];
                 curRow.className = lightCss;

                 }
            };
            </script>


    dyx9010
    2009年10月10日 11:33

答案

  • 你把js代码 放在aspx页面底试试看

    修改一下
        Sys.Application.add_load(function()
            {
           
                 var GridView2 = document.getElementById('<%=GridView2.ClientID%>');
                  if(GridView2!=null)
                {

                 curRow = GridView2.rows[1];
                 curRow.className = lightCss;

                 }
            }
    );

    • 已标记为答案 KeFang Chen 2009年10月16日 2:09
    2009年10月10日 12:46

全部回复

  • 你把js代码 放在aspx页面底试试看

    修改一下
        Sys.Application.add_load(function()
            {
           
                 var GridView2 = document.getElementById('<%=GridView2.ClientID%>');
                  if(GridView2!=null)
                {

                 curRow = GridView2.rows[1];
                 curRow.className = lightCss;

                 }
            }
    );

    • 已标记为答案 KeFang Chen 2009年10月16日 2:09
    2009年10月10日 12:46
  • 楼主你好,

    参考mldark的代码一试,如果没有解决请贴出代码。
    Microsoft Online Community Support
    2009年10月12日 3:22