做一个注册的页面,提交的表单项很多,到中间的时候有一些比如DropDoenList需要刷新,如何才能让他刷新后回到原来的位置呢,顺便提一下,上传文件如何过滤后缀名称呢~~

解决方案 »

  1.   

    按了一个按钮后,脚本会自动将页面自动滚动到这个按钮的位置。写段脚本的事情,用了一个ScriptHelper的类来搞定,这个类有个GetViewControlScript(string controlName)的方法,它返回是一段客户端的脚本,传入的参数就是这个控件的ID。ScriptHelper类代码:/// <summary>
    /// 提供一些产生页面脚本的方法
    /// </summary>
    public class ScriptHelper
    { /// <summary>
     /// 获取客户端查看控件的脚本
     /// </summary>
     /// <param name="controlName"></param>
     /// <returns>脚本代码</returns>
     public static string GetViewControlScript(string controlName)
     {  //创建客户端函数ViewObj
      string script = "\n";
      script += "<script language=\"javascript\">\n";
      script += "function ViewObj(objName)\n";
      script += "{\n";
      script += "var obj = document.all.item(objName);\n";
      script += "if (obj != null)\n";
      script += "{\n";
      script += "\tobj.scrollIntoView();\n";
      script += "\tobj.focus();\n";
      script += "}\n";
      script += "}\n";  //创建客户端函数ToDo
      script += "function ToDo()";
      script += "{\n";
      script += string.Format("setTimeout(\"ViewObj('{0}')\",1000);\n", controlName);
      script += "}\n";  script += "window.onload = ToDo;\n";
      script += "</script>\n";  return script;
     }}使用示例:为了方便输入脚本,我在页面上放了个Label:lblScript,并把lblScript的EnableViewState属性和Visible属性设成False。
    然后在lblScrpt的Click事件的操作代码后添加输入脚本的代码,如下所示:private void btnSave_Click(object sender, System.EventArgs e)
    {
    project.UpdateProjectInfo(ds);
    lblScript.Text = ScriptHelper.GetViewControlScript("btnSave");
    }在点击btnSave按钮后,页面会自动滚动到btnSave的位置,减少了页面刷新带来的不便。
      

  2.   

    vs的设计器里有一个smartNavigation属性,设置为true就可以了
      

  3.   

    请问smartNavigation是用来做什么呢?
      

  4.   

    设置smartNavigation=true就可以了。智能导航是asp.net从一开始就提供的基本功能,各种文档(msdn、网络)很多很全面,写asp.net的人不应该不知道。
      

  5.   

    这个并不像某个语法、控件,不知道还可以绕过去。智能导航是web应用程序能够“可用”的基础,没有这个页面就变得实在无法使用。没有它,页面会在回发时闪烁,焦点无法自动保持,浏览器导航栏上的url地址会堆积一堆垃圾地址。smartNavigation实际上是用javascript完成的,想学习明智地“无刷新”屏幕的人应该首先研究它的script文件,因为它的兼容性很好,可以自动分析dhtml对象然后酌情更新到屏幕上,甚至对<title>都考虑到了。
      

  6.   

    smartNavigation属性好像跟JS脚本有冲突!
      

  7.   

    如果smartNavigation不好用的话http://huobazi.cnblogs.com/archive/2004/09/20/44823.html
      

  8.   

    smartNavigation属性好像跟JS脚本有冲突!
    ——————————————————————————————————————
    其实这个需要证据。