人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

用JavaScript處理ASP.NET服務器控件造成的刷新問題

用JavaScript處理ASP.NET服務器控件造成的刷新問題

更新時間:2022-07-11 文章作者:未知 信息來源:網絡 閱讀次數:

用ASP.NET開發的人對服務器端控件事件引起的頁面刷新很頭痛吧!

我把解決問題的方法拿出來與大家共享,思路是事件執行完后寫段腳本,讓頁面自動滾動到刷新頁面之前的控件處,減少頁面刷新帶來的不便。
比如按了一個按鈕后,腳本會自動將頁面自動滾動到這個按鈕的位置。

寫段腳本的事情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 += "{\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的位置,減少了頁面刷新帶來的不便。
Powered by DvNew

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 宣恩县| 永新县| 新沂市| 庄河市| 望谟县| 芜湖县| 吉首市| 大竹县| 双流县| 江口县| 尉氏县| 宜黄县| 扬州市| 基隆市| 兰州市| 加查县| 北流市| 寿宁县| 西和县| 新郑市| 卓资县| 海南省| 郯城县| 元朗区| 博湖县| 甘南县| 资中县| 景东| 沭阳县| 进贤县| 丽水市| 涟源市| 濮阳市| 那坡县| 阿图什市| 中牟县| 乐陵市| 伊宁市| 嘉兴市| 营山县| 彰化县|