Public Class ScriptHelper    Public Shared Function GetViewControlScript(ByVal controlName As String) As String
        Dim script As String
        script = vbCrLf
        script += "<script language=""javascript"">" & vbCrLf
        script += "function ViewObj(objName)" & vbCrLf
        script += "{" & vbCrLf
        script += "var obj = document.all.item(objName);" & vbCrLf
        script += "if (obj != null)" & vbCrLf
        script += "{" & vbCrLf
        script += "obj.scrollIntoView();" & vbCrLf
        script += "obj.focus();" & vbCrLf
        script += "}" & vbCrLf
        script += "}" & vbCrLf
        script += "function ToDo()"
        script += "{" & vbCrLf
        script += [String].Format("setTimeout " & "(" & """ViewObj" & "(" & "'{0}')"",1000);" & vbCrLf, controlName)        script += "}" & vbCrLf        script += "window.onload = ToDo;" & vbCrLf
        script += "</script>"
        Return script    End FunctionEnd Class

解决方案 »

  1.   

    多谢Meyer() 测试后立即结帐
      

  2.   

    我又整理了一下客户端代码,请看看是否正确
    并请热心者帮忙注释以下,我对次懂的很少<script language=""javascript"">
            function ViewObj(objName)
            {
            var obj = document.all.item(objName);
            if (obj != null)
               {
               obj.scrollIntoView();
               obj.focus();
               }
            }
            function ToDo()
            {
            String.Format("setTimeout("ViewObj('{0}')",1000), controlName);
            }        window.onload = ToDo</script>
      

  3.   

    脚本只解决了刷新后自动滚动的功能,并不能解决刷新问题。我用过一种方法供参考:在页面中添加隐藏的iframe,激发事件时用脚本使iframe的src指向某aspx,该aspx处理后,在iframe中产生脚本,由脚本更改主页面的对应内容,这样视觉上就不存在刷屏的现象。
    不过这需要支持script,并且你对DHTML编程要比较了解。
      

  4.   

    是否asp.net 永远不支持客户端的事件,虽然通过向web 窗体中插入javascritp可以解决一些问题,但不够方便
      

  5.   

    永远 ?应该是吧。
    通过向web 窗体中插入javascript ???
    程序先在服务器端运行,生成某些你需要的 JavaScript。然后再在客户端运行此 JavaScript
      

  6.   

    浏览器部分本就是javascript的天下
    有Ecma的标准,