国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

用腳本解決ASP.NET頁面刷新問題

2024-07-10 13:03:46
字體:
來源:轉載
供稿:網友
    用asp.net開發的人對服務器端控件事件引起的頁面刷新很頭痛吧!

  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 += {//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的位置,減少了頁面刷新帶來的不便。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 陇南市| 浦北县| 莱州市| 丹凤县| 曲阳县| 德昌县| 茌平县| 东乡族自治县| 田东县| 晋州市| 温州市| 都兰县| 呼伦贝尔市| 那坡县| 柳林县| 宁津县| 渑池县| 磐石市| 湖北省| 边坝县| 无极县| 页游| 墨江| 宣恩县| 巴林左旗| 南皮县| 来凤县| 蒙阴县| 阿拉善左旗| 溧水县| 南郑县| 缙云县| 黎平县| 遂川县| 大新县| 宜昌市| 海伦市| 芦山县| 仁寿县| 隆化县| 濉溪县|