Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / форма постоянно возвращается в начало / 4 сообщений из 4, страница 1 из 1
26.09.2006, 12:57
    #34012364
seeerg_23
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
форма постоянно возвращается в начало
у меня на форме можество обектов размещено. Есть горизонтальная полоса прокрутки. Опускаю её вниз. работаю с данными. По какому-либо из событий (выделению в гриде строки, удалению строки, редактированию данных) форма авто оказывается вначале, т.е гориз полоса прокрутки вверху. Очень неудобно каждый раз её опускать вниз. Как отменить это действие формы (или полосы прокрутки), которое происходит по любому событию????
...
Рейтинг: 0 / 0
26.09.2006, 13:00
    #34012382
TZUK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
форма постоянно возвращается в начало
Такая же фигня... при перелистывании календаря на след месяц, форма перепрыгивает в начало...
...
Рейтинг: 0 / 0
26.09.2006, 14:05
    #34012697
Dimon aka Manowar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
форма постоянно возвращается в начало
Хранитель состояния Scroll'ов на странице

Многие вещи нам непонятны не оттого, что наши понятия слабы, а оттого, что данные вещи не входят в круг наших понятий.
...
Рейтинг: 0 / 0
03.10.2006, 08:40
    #34027527
seeerg_23
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
форма постоянно возвращается в начало
Куда вставить этот кусочек кода, чтобы форма не возвращалась вначало???
Вставил перед Page_Load - не применился, всё равно возврат вначало!!!

namespace xSaveScroll
{
[ToolboxData("<{0}:xSaveScroll runat=server></{0}:xSaveScroll>"),Description("Контрол который сохраняет позиции всех скролов находящихся на странице")]
public class xSaveScroll: HiddenField
{
protected override void Render(System.Web.UI.HtmlTextWriter writer)
{
RegisterScript();
base.Render(writer);
Page.ClientScript.RegisterStartupScript(Page.GetType(), "Scroll2", "LoadState();", true);
Page.ClientScript.RegisterStartupScript(Page.GetType(), "Scroll3", "document.getElementById('" + Page.Form.ClientID + "').onsubmit=function(){SaveState();};", true);
}
private void RegisterScript()
{
string Script;
Script = "function SaveState(){";
Script += "var Ctrls=document.getElementsByTagName('*');";
Script += "x=Ctrls.length;";
Script += "var i;";
Script += "for(i=0;i<x;i++){";
Script += "if (Ctrls .scrollTop!=null && Ctrls.scrollLeft!=null){";
Script += "if (Ctrls.scrollTop!=0 || Ctrls.scrollLeft!=0)";
Script += "document.getElementById ('" + this.ClientID + "').value+=Ctrls.id+','+Ctrls.scrollTop+','+Ctrls.scrollLeft+';';}}}";
string Script2;
Script2 = "function LoadState() {";
Script += "var Ctrls=document.getElementsByTagName('*');";
Script2 += "x=Ctrls.length;";
Script2 += "mass=document.getElementById ('" + this.ClientID + "').value.split(';');";
Script2 += "var i;var j;for(i=0;i<mass.length-1;i++) {";
Script2 += "m2=mass.split(',');if (m2.length==3){for(j=0;j<x;j++){";
Script2 += "if (m2[0]==Ctrls[j].id)";
Script2 += "{Ctrls[j].scrollTop=m2[1];";
Script2 += "Ctrls[j].scrollLeft=m2[2];";
Script2 += "}}}}}";
Page.ClientScript.RegisterStartupScript(Page.GetType(), "Scroll", Script + Script2, true);
}
}
}
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / форма постоянно возвращается в начало / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]