方法一:

"防止頁面滾動"
方法二:
Page.SmartNavigation = true;
有可能會造成你頁面JavaScript 出錯,這是ASP.NET 的一個BUG
方法三:
利用<大眼睛>的原理,我把過程簡化了一下,分三部分:
一、
在<form>與</form>之間插入<input type="hidden" name="__SCROLLPOS">,用以記錄頁面的目前滾動位置;
二、
給<body>起個名字,比如:<body id="theBody">,同時編寫body的onscroll事件,總體如下:
<body id="theBody" onload="bodyload()" onscroll="document.all["__SCROLLPOS"].value = theBody.scrollTop;">
三、
在Page_Load事件中加入如下代碼(vb.net),作用在于ie顯示該頁面時,馬上重新定位原來的滾動位置:
Dim js As String
js = "<script language=""javascript"">function bodyload() {"
js &= "js &= "theBody.scrollTop = " & CInt("0" & Request.Form("__SCROLLPOS")) & "; "
js &= "document.forms[0].__SCROLLPOS.value = " & CInt("0" & Request.Form("__SCROLLPOS")) & "; "
js &= "}</script>"
Response.Write(js)
Not在此把Not在做一個項目時的解決方法拿出來與大家共享。
Not的思路是事件執行完後寫段腳本,讓頁面自動滾動到重新整理頁面之前的控件處,減少頁面重新整理帶來的不便。
比如按了一個按鈕後,腳本會自動将頁面自動滾動到這個按鈕的位置。
寫段腳本的事情Not用了一個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 += "\tobj.scrollIntoView();\n";
script += "\tobj.focus();\n";
script += "}\n";
//建立用戶端函數ToDo
script += "function ToDo()";
script += string.Format("setTimeout(\"ViewObj('{0}')\",1000);\n", controlName);
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的位置,減少了頁面重新整理帶來的不便。
<b></b>
<b>本文轉自高海東部落格園部落格,原文連結:http://www.cnblogs.com/ghd258/archive/2005/10/12/253407.html,如需轉載請自行聯系原作者</b>