Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Новые окна, js, меняющиеся параметры. сумбур внутри / 25 сообщений из 26, страница 1 из 2
22.03.2006, 18:44
    #33618348
Alex Tyutyunik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новые окна, js, меняющиеся параметры. сумбур внутри
Вообщем так я и не решил эту проблему.
Посему обращаюсь к вам.

Стоит задача. Показать в новом окне pdf файл (имя файла вычисляется заранее и лежит в переменной класса).
Условия: попап-блокеры молчат.
Если пользователь изменил какие-то данные (никаких кнопок аля "Подтвердить"), я должен как-то их сохранить перед тем как показать pdf, чтобы в нем были свежие данные. (то есть вызвать некий метод класса).

Итого, перед показом pdf данные нужно сохранить, имя файла находится в переменной (то есть не жестко фиксировано), никаких сообщений от попап-блокеров.

Господа, есть идеи ?
...
Рейтинг: 0 / 0
23.03.2006, 10:19
    #33619184
Galant
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новые окна, js, меняющиеся параметры. сумбур внутри
Alex TyutyunikГоспода, есть идеи ?
Йесть. Напейсать еще раз на трезвую голову. Я понял только то, что некие попап-блокеры толи должны что-то сказать, то ли должны молчать как партизаны.
...
Рейтинг: 0 / 0
23.03.2006, 13:19
    #33620096
Alex Tyutyunik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новые окна, js, меняющиеся параметры. сумбур внутри
Ндя :) Попробую.

Задача такая, мне нужно в отдельном окне показать сгенеренный pdf.
Название файла pdf не фиксированное, а зависит от того, какой объект App загружен из БД. типа: app12.pdf, app122.pdf.

Есть у меня некий метод SUBMIT() на каждой странице, который сохраняет значения контролов в глобальном объекте App и некоторых других. Этот метод необходимо вызвать перед тем, как генерить pdf (чтобы в pdf были самые свежие данные).

Если из code-behind я делаю Response.Write("...window.open...") то выскакивает попап-блокер IE, который спрашивает нужно ли разрешить или запретить попапы с моего сайта. Мне такое не нужно. То бишь надо чтоб попап-блокер молчал.

Вообщем, резюмируя:
нужно показать pdf в новом окне, при условиях, что:
1) перед самой генерацией нужно вызвать мой метод SUBMIT();
2) молчали попап-блокеры.
3) имя pdf-файла, не является жестко фиксированным, а вычисляет на момент загрузки объекта App из БД и хранится где-нибудь в переменной класса.

Усе :)
...
Рейтинг: 0 / 0
23.03.2006, 15:30
    #33620703
Galant
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новые окна, js, меняющиеся параметры. сумбур внутри
Уже лучче, но не фонтан :)
Насколько я понял, единственное, что нужно - чтобы ИЕ не блокировал поп-ап.
Первое, что приходит в голову "window.open('GeneratePDF.aspx?appArray=app1.pdf;app2.pdf')"
...
Рейтинг: 0 / 0
23.03.2006, 15:44
    #33620763
profil
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новые окна, js, меняющиеся параметры. сумбур внутри
достаточно сделать по-человечески window.open, без всяких Response.Write
как? воспользуйтесь поиском


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
23.03.2006, 16:12
    #33620894
Alex Tyutyunik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новые окна, js, меняющиеся параметры. сумбур внутри
profil я вчера полдня убил, сам разбирался, общался с коллегами из питера... не пашет так как надо.

Мне надо
чтоб при клике на тот же LinkButton сначала выполнить метод класса SUBMIT();
а потом вызвать js функцию с window.open.
имя файла у меня хранится в переменной класса, я научился вчера вытаскивать его оттуда, чтоб подставить в window.open.

Но как мне одновременно выполнить мой метод SUBMIT() и вслед за ним вызвать js функцию. И чтоб это было одним кликом мыши.
Такое реально как - то сделать ?
...
Рейтинг: 0 / 0
23.03.2006, 16:26
    #33620970
Galant
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новые окна, js, меняющиеся параметры. сумбур внутри
Дык, тебе ж говорят, делаешь window.open и там уже мутишь свои заморочки с пэдээфами. В качестве параметров открываемого файла можешь передать значения инпутов, чекбоксов и т.д.
...
Рейтинг: 0 / 0
23.03.2006, 16:29
    #33620981
profil
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новые окна, js, меняющиеся параметры. сумбур внутри
все реально, причем ни чего сложного нет.
хотелось бы посмотреть на ваш код, поскольку не все понятно что вы делаете (на пример, submit() это серверный метод или клиентский?)

и еще раз рекомендую пользоваться поиском, я буквально не давно разжевывал пару раз эту тему... лень
повторяться


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
23.03.2006, 16:39
    #33621039
Alex Tyutyunik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новые окна, js, меняющиеся параметры. сумбур внутри
Galant, не нравится мне идея передевать параметров этак 30 к странице из js :) много очень

profil..
SUBMIT() это мой собственный метод класса страницы

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
public void SUBMIT()
{			
	// CRUD Applicant
	this._ApplicantWork();
}
public void _ApplicantWork()
{
	this.NVC_ApplicantF( 1 );
	AppRecalls.Acord125_Set_Applicant(NVC_Applicant, this._CheckSum("Applicant",  0 ));
}
типа такого. Я этот метод пользую когда происходит save в БД, или юзер уходит со страницы, по клику на какой-то кнопке.

Раньше у меня были еще такие строки (в методах Save или Load данных из БД)
Код: plaintext
1.
2.
string url = "file="+AppRecalls.PDF_Get_PDFFilePath();
this.HL_GeneratePDF.NavigateUrl = "pdfview.aspx"+"?"+url+"&ac=125";
this.HL_GeneratePDF.Visible = true;
Таким образом я делал объект hyperlink видимым, и на нем юзер мог клацнуть.
но если пользовать hyperlink, то я не могу ему подпихнуть SUBMIT(), соответственно в pdf не будет тех данных, который юзер изменил на форме.

Метод PDF_Get_PDFFilePath() возвращает имя PDF файла (типа app22.pdf). Число 22 является ID записи в базе, то есть что загрузили то и подставилось в appXXX.pdf.

На JS у меня сейчас ничего нет.
...
Рейтинг: 0 / 0
23.03.2006, 19:04
    #33621593
Alex Tyutyunik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новые окна, js, меняющиеся параметры. сумбур внутри
Уважаемый profil, вас не видно и чую никто не поможет мне :)
...
Рейтинг: 0 / 0
23.03.2006, 19:14
    #33621613
vladgrig
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новые окна, js, меняющиеся параметры. сумбур внутри
авторНо как мне одновременно выполнить мой метод SUBMIT() и вслед за ним вызвать js функцию. И чтоб это было одним кликом мыши.

а что после сабмита твоя страница не уходит на сервер и не возвращается обратно???!!!
...
Рейтинг: 0 / 0
23.03.2006, 19:43
    #33621695
vladgrig
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новые окна, js, меняющиеся параметры. сумбур внутри
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        
        MySuperPuperFunction And SomeServerCode
        
        ' Define the name and type of the client scripts on the page.
        Dim csname As String = "Test"
        Dim cstype As Type = Me.GetType()
    
        ' Get a ClientScriptManager reference from the Page class.
        Dim cs As ClientScriptManager = Page.ClientScript

        ' Check to see if the startup script is already registered.
        If (Not cs.IsStartupScriptRegistered(cstype, csname)) Then
      
            Dim cstext As String = "window.open('http://www.sql.ru/forum/actualthread.aspx?tid= 274620 ')"
            cs.RegisterStartupScript(cstype, csname, cstext, True)
                
        End If
End Sub
P.S. это что бы голова не сломалась в раздумьях ;)
...
Рейтинг: 0 / 0
23.03.2006, 19:58
    #33621718
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новые окна, js, меняющиеся параметры. сумбур внутри
Если правильно понял задачу, то submit вызывает серверный метод, перегрузку страницы, а уже на перезагрузке необходимо повесить для формы событие onload, котрое будет открывать popup окно. Тег <form> можно заключить в include и генерировать его при каждой перегрузке формы. Флаг о том, вызывать ли событие onload можно хранить в переменной sessionили viewstate.
...
Рейтинг: 0 / 0
23.03.2006, 20:42
    #33621763
Alex Tyutyunik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новые окна, js, меняющиеся параметры. сумбур внутри
vladgrig, от такая штука у меня не работает.
никаких новых окон, ошибок, ничего.
я чето не нашел никаких ClientScriptManager, может в C# нет его.
Да у меня подобным примером даже alert вместо window.open не работал. Тоже ничего.

Код: plaintext
1.
2.
3.
4.
SUBMIT(); //  MySuperPuperFunction And SomeServerCode
string name = "Test";
string text = "window.open('http://www.sql.ru/forum/actualthread.aspx?tid=274620')";
if(!Page.IsStartupScriptRegistered(name))
      Page.RegisterStartupScript(name,text);

Axeleron, может я и правильно тебя понял :) Но можно примерчик ? Так я куда быстрее соображу.
...
Рейтинг: 0 / 0
23.03.2006, 21:38
    #33621831
vladgrig
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новые окна, js, меняющиеся параметры. сумбур внутри
...
Рейтинг: 0 / 0
24.03.2006, 10:52
    #33622639
profil
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новые окна, js, меняющиеся параметры. сумбур внутри
такой вариант подойдет?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
//где-нибудь в PageLoad:
this.LinkButton1.Attributes["onclick"] = "window.open(\"pdf.aspx\")";
this.LinkButton1.Click += new System.EventHandler(this.LinkButton1_Click);

private void LinkButton1_Click(object sender, System.EventArgs e)
{
 Submit();
}



Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
24.03.2006, 11:03
    #33622691
vladgrig
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новые окна, js, меняющиеся параметры. сумбур внутри
автортакой вариант подойдет?

To profil
терзают смутные сомнения что при таком раскладе выполниться сперва клиентский скрипт, а уже потом серверный... вроде надо наоборот...
...
Рейтинг: 0 / 0
24.03.2006, 11:10
    #33622724
profil
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новые окна, js, меняющиеся параметры. сумбур внутри
а какая разница?
если не подойдет, тогда через RegisterStartupScript


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
24.03.2006, 11:13
    #33622734
profil
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новые окна, js, меняющиеся параметры. сумбур внутри
да и вообще, есть подозрение, что этот CheckSum можно делать и в новом окне, т.е. вызывающую страницу вообще не зачем перегружать


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
24.03.2006, 11:27
    #33622792
vladgrig
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новые окна, js, меняющиеся параметры. сумбур внутри
авторда и вообще, есть подозрение, что этот CheckSum можно делать и в новом окне, т.е. вызывающую страницу вообще не зачем перегружать
тогда покажи ему - как взять значения полей ввода на вызывающей странице и закинуть в его суперфункцию, вызванную из второго окна - помоему у него с этим трабла...
P.S. мне самому не то что бы лень - просто работал всю ночь - голова не варит ;)
...
Рейтинг: 0 / 0
24.03.2006, 11:39
    #33622844
profil
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новые окна, js, меняющиеся параметры. сумбур внутри
самое удобное сделать RegisterStartupScript после Submit()
а так можно передать параметры через строку запроса, либо в открытом окне брать параметры через self.opener


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
24.03.2006, 11:43
    #33622867
profil
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новые окна, js, меняющиеся параметры. сумбур внутри
кстати, на счет 30 параметров - можно дать им одинаковое имя (name) и брать их через document.getElementsByName, ну и пройтись
простым циклом да сформировать строку запроса


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
24.03.2006, 11:51
    #33622905
vladgrig
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новые окна, js, меняющиеся параметры. сумбур внутри
авторсамое удобное сделать RegisterStartupScript после Submit()
вот и я о том же... приятно вести разговор с profil -сионалом... ;)
...
Рейтинг: 0 / 0
24.03.2006, 14:30
    #33623649
Alex Tyutyunik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новые окна, js, меняющиеся параметры. сумбур внутри
Я пришел :)

ClientScriptManager есть в 2.0 у меня версия 1.1.
эти 30 параметров я не буду передавать в запросе, у меня все сохраняется в объектах внутри программы и не хочу нарушать структуры.

Мне надо вызвать сначала серверный метод, а потом уже клиентский.

Код: plaintext
1.
2.
3.
4.
SUBMIT(); //  MySuperPuperFunction And SomeServerCode
string name = "Test";
string text = "window.open('http://www.sql.ru/forum/actualthread.aspx?tid=274620')";
if(!Page.IsStartupScriptRegistered(name))
      Page.RegisterStartupScript(name,text);

Как вообще должна работать такая регистрация скриптов ? почитал msdn, их пример у меня не запускается, посмотреть даже не могу :)
Но вообщем не работает сие.

Можно привести полностью рабочий пример ?
Чтоб по одному клику, данные с пары текстбоксов записались в некий объект, потом открылось новое окно, и там показались значения этих текстбоксов.
Значения текстбоксов передевать не как параметры, а просто на новой странице считать их из объекта.
...
Рейтинг: 0 / 0
24.03.2006, 14:37
    #33623682
profil
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новые окна, js, меняющиеся параметры. сумбур внутри
string text = "<script>window.open('http://www.sql.ru/forum/actualthread.aspx?tid=274620')</script>";


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Новые окна, js, меняющиеся параметры. сумбур внутри / 25 сообщений из 26, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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