Rambler's Top100
Главная
Новости
Статьи
Форумы
Книги
Коды
Сообщество
Блоги
О нас
 

Логин

Email:
  Пароль:

Войти
Зарегистрироваться
Забыл пароль

Поиск

 Искать :
 
Вперед

Книги по теме

Искать:
в:
Порядок:

Исходник

Автор:

serg_23

 
Название:

Хранитель состояния scroll-ов на странице

Дата: 04 October 2006
Описание: У вас в форуме увидел Хранитель состояния scroll-ов на странице. Не получается применить его. Подскажите, в каком месте его (код) вставить? Вставил сразу после using - не срабатывает. В Page_Load - ошибки выдаёт. Подскажите, плз!!! 
  Разместить ссылку на этот исходник в форуме вы можете вставив в текст сообщения следующую строку: [CODEPOST ID=196]Хранитель состояния scroll-ов на странице[/CODEPOST]
Оценка: Проголосовало 1 посетителей, средняя оценка 5.00
Оценить:
  1 using System;
  2 using System.Data;
  3 using System.IO;
  4 using System.Text;
  5 using System.ComponentModel;
  6 using System.Globalization;
  7 using System.Threading;
  8 using System.Configuration;
  9 using System.Collections;
 10 using System.Web;
 11 using System.Web.Security;
 12 using System.Web.UI;
 13 using System.Web.UI.WebControls;
 14 using System.Web.UI.WebControls.WebParts;
 15 using System.Web.UI.HtmlControls;
 16 
 17 namespace xSaveScroll
 18 {
 19  [ToolboxData("<{0}:xSaveScroll runat=server></{0}:xSaveScroll>"),Description  ("Контрол который сохраняет позиции всех скролов находящихся на странице")]
 20  public class xSaveScroll: HiddenField 
 21   {
 22    protected override void Render(System.Web.UI.HtmlTextWriter writer)
 23     {
 24      RegisterScript();
 25      base.Render(writer);
 26      Page.ClientScript.RegisterStartupScript(Page.GetType(), "Scroll2", "LoadState();", true);
 27      Page.ClientScript.RegisterStartupScript(Page.GetType(), "Scroll3", "document.getElementById('" + Page.Form.ClientID + "').onsubmit=function(){SaveState();};", true);
 28     }
 29  private void RegisterScript()
 30   {
 31    string Script;
 32    Script = "function SaveState(){";
 33    Script += "var Ctrls=document.getElementsByTagName('*');";
 34    Script += "x=Ctrls.length;";
 35    Script += "var i;";
 36    Script += "for(i=0;i<x;i++){";
 37    Script += "if (Ctrls[i].scrollTop!=null && Ctrls[i].scrollLeft!=null){";
 38    Script += "if (Ctrls[i].scrollTop!=0 || Ctrls[i].scrollLeft!=0)";
 39    Script += "document.getElementById ('" + this.ClientID + "').value+=Ctrls[i].id+','+Ctrls[i].scrollTop+','+Ctrls[i].scrollLeft+';';}}}";
 40    string Script2;
 41    Script2 = "function LoadState() {";
 42    Script += "var Ctrls=document.getElementsByTagName('*');";
 43    Script2 += "x=Ctrls.length;";
 44    Script2 += "mass=document.getElementById ('" + this.ClientID + "').value.split(';');";
 45    Script2 += "var i;var j;for(i=0;i<mass.length-1;i++) {";
 46    Script2 += "m2=mass[i].split(',');if (m2.length==3){for(j=0;j<x;j++){";
 47    Script2 += "if (m2[0]==Ctrls[j].id)";
 48    Script2 += "{Ctrls[j].scrollTop=m2[1];";
 49    Script2 += "Ctrls[j].scrollLeft=m2[2];";
 50    Script2 += "}}}}}";
 51    Page.ClientScript.RegisterStartupScript(Page.GetType(), "Scroll", Script + Script2, true);
 52           }
 53       }
 54   }
 55 
 56 public partial class vvod : System.Web.UI.Page
 57 {     
 58     protected void Page_Load(object sender, EventArgs e)
 59     {
 60     }
Вернуться к списку исходников в категории Общие вопросы программирования на ASP.NET
 
Apartments for Rent

Rambler's Top100
Рейтинг@Mail.ru
Идея: Dimon aka Manowar Программирование: Dimon aka Manowar Дизайн: Dan Lebedev
Хостинг от компании Parking.ru
Карта сайта