powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Проблема
19 сообщений из 19, страница 1 из 1
Проблема
    #34048427
vitalycrash
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Такая проблема(понял что по маленьким вопросам-не добьюсь ничего):
Есть форма на ней 2 кнопки:
Первая кнопка вызывает defaut4.aspx с отчетом-всё отлично!(Response.Redirect)
Вторая кнопка открывает новое окно, но тоже default4.aspx но там отчета нету, т.е открывается пустое пдф окно.
Что странно если на default4.aspx поставить кнопку при нажатии на которую появится отчёт (inline) то и там и там открывается полный отчёт...
Отчет с параметрами через session от default3.aspx.
Посоветуйте что сделать..
Я думал сделать автонажатии кнопки но незнаю как.. а больше вариантов нет
...
Рейтинг: 0 / 0
Проблема
    #34048481
Фотография Суповой набор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вторая кнопка нужна только для того, чтобы открывалось новое окно?
а формируется отчет на дефолт3? и в сессию кидается? а в дефолт4 из сессии вытаскивается? так что ли?
что то ты замутил.
если отчет генерится и кидается в сессию в дефолт3 - так посмотри что у тебя в сессии в дефолт4, у меня такое ощущение, что ты генеришь отчет перед редиректом, естественно открывая новое окно - отчета в сессии нет.

куясе я роман нопесал
аж самому страшно стало
домой новерное пора
...
Рейтинг: 0 / 0
Проблема
    #34048504
vitalycrash
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Да кнорка нужна только для открытия дефолта4.
2. Отчёт на дефолт3 по сессиям и вытаскивактся в дефолт4.
3. Нет Редирект первее, + к кнопке открывающей новое окно... Редирект не очень нужен BtnOk1.Attributes.Add("onclick", "window.open('default4.aspx');return false");
Но я не понимаю... Почему открывая одну и туже страницу разными способами
..в одном случае открывается, а в другом нет...
...
Рейтинг: 0 / 0
Проблема
    #34048510
Фотография Суповой набор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
посмотри что у тебя в сессии в дефолт4
по идее там должен быть null
когда ты делаешь window.open();
...
Рейтинг: 0 / 0
Проблема
    #34048514
vitalycrash
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всмысле посмотреть? Как? вывести сессию через лэйблы... уже стёр лэйблы... там всё выводилось я проверял...я видел (То ли это?)
Ну а как от этого нулл тогда избавится?
...
Рейтинг: 0 / 0
Проблема
    #34048540
vitalycrash
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ещё есть this.RegisterStartupScript("OnLoad", "<script language ='javascript'>" + Button1.ClientID + ".click();</script>"); но не работает!
...
Рейтинг: 0 / 0
Проблема
    #34048552
Фотография Суповой набор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
короче давай код дефолт4 в студию
так тебя просто не возможно понять
...
Рейтинг: 0 / 0
Проблема
    #34048563
vitalycrash
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
public partial class Default4 : System.Web.UI.Page
{
public String MyCallParams;
public String ReportName;
public String ReportParams;
protected void Page_Load(object sender, EventArgs e)
{
this.RegisterStartupScript("OnLoad", "<script language ='javascript'>" + Button1.ClientID + ".click();</script>");
}
private void ProcessWebservice4(String ReportName, String ReportParams)
{
ebkservice.IWebPrintServiceservice Webservice = new ebkservice.IWebPrintServiceservice();
Byte[] Data = Webservice.getPdfReport(ReportName, ReportParams);

Response.ContentType = "application/pdf";
Response.Charset = "Windows-1251";
Response.AddHeader("Content-Disposition", "inline");
Response.BinaryWrite(Data);
Response.End();
}


protected void Button1_Click(object sender, EventArgs e)
{
if (Session["name"].ToString() == "APlan-/A-Gang / Arbeits-Gang")
{
Session["params"].ToString();
ProcessWebservice4("TRep_Arbeitsgang", Session["params"].ToString());
}
if (Session["name"].ToString() == "APlan-/A-Gang / Arbeits-Plan")
{
Session["params2"].ToString();
ProcessWebservice4("TrptArbeitsplan", Session["params2"].ToString());
}
if (Session["name"].ToString() == "Status / Kommissions-Status")
{
Session["params3"].ToString();
ProcessWebservice4("TRep_KommStatus", Session["params3"].ToString());
}

}
}
Вот дефаулт4. Простите за немецкий. Сам его незнаю... но тут он и не нужен!
...
Рейтинг: 0 / 0
Проблема
    #34048578
Фотография Суповой набор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хорошо, надо было конечно код дефолт3
а на дефолт4 тоже есть кнопка?
...
Рейтинг: 0 / 0
Проблема
    #34048579
Фотография Суповой набор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а,я понял, это ты эксперементировал :)
давай код дефолт3.
...
Рейтинг: 0 / 0
Проблема
    #34048582
Фотография Суповой набор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
давай быстрее, домой уже пора
...
Рейтинг: 0 / 0
Проблема
    #34048594
vitalycrash
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что странно если на default4.aspx поставить кнопку при нажатии на которую появится отчёт (inline) то и там и там открывается полный отчёт...
Отчет с параметрами через session от default3.aspx.
Посоветуйте что сделать..
Я думал сделать автонажатии кнопки но незнаю как.. а больше вариантов нет
---------Это мой первый пост-----------------------------
можно и убрать я вот и спрашиваю... либо как сделать авто нажатие кнопки, либо как сделать без нее. Дефаулт3 очень большой... Кнопка генерации отчета:
protected void btnOk_Click(object sender, EventArgs e)
{
Session["name"] = lblReportname.Text;
Session["params"] = MyCallParams = "qd_arbeitsgang|betr_auftrag_id|" + ddlPosition.SelectedValue;
Session["params2"] = MyCallParams = "qd_position|position_id|" + ddlPosition.SelectedValue;
Session["params3"] = MyCallParams = "qd_kommission|kommission_id|" + ddlKommission.SelectedValue + "," +
"qd_position|position_id|" + ddlPosition.SelectedValue + "," +
"variable|nuroffenepos|true";
Response.Redirect("default4.aspx");
if (lblReportname.Text == "APlan-/A-Gang / Arbeits-Gang")
{
MyCallParams = "qd_arbeitsgang|betr_auftrag_id|" + ddlPosition.SelectedValue;
Session["Klas"] = "TRep_Arbeitsgang";
ProcessWebservice("TRep_Arbeitsgang", MyCallParams);
}
if (lblReportname.Text == "APlan-/A-Gang / Arbeits-Plan")
{
MyCallParams = "qd_position|position_id|" + ddlPosition.SelectedValue;
Session["Klas"] = "TrptArbeitsplan";
ProcessWebservice("TrptArbeitsplan", MyCallParams);
}
if (lblReportname.Text == "Status / Kommissions-Status")
{
MyCallParams =
"qd_kommission|kommission_id|" + ddlKommission.SelectedValue + "," +
"qd_position|position_id|" + ddlPosition.SelectedValue + "," +
"variable|nuroffenepos|true";
Session["Klas"] = "TRep_KommStatus";
ProcessWebservice("TRep_KommStatus", MyCallParams);
}
}
ну сам отчет ProcessWebservice можно взять тот же... и открытие окна яваскрипта я кидал..
...
Рейтинг: 0 / 0
Проблема
    #34048601
Фотография Суповой набор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
короче

Session["name"] = lblReportname.Text;
Session["params"] = MyCallParams = "qd_arbeitsgang|betr_auftrag_id|" + ddlPosition.SelectedValue;
Session["params2"] = MyCallParams = "qd_position|position_id|" + ddlPosition.SelectedValue;
Session["params3"] = MyCallParams = "qd_kommission|kommission_id|" + ddlKommission.SelectedValue + "," +
"qd_position|position_id|" + ddlPosition.SelectedValue + "," +
"variable|nuroffenepos|true";
Response.Redirect("default4.aspx");

у тебя в оброботчике клика стоит - занос данных в сессию
а потом редирект.

ты должен вот это сделать в пейджлоад:
Session["name"] = lblReportname.Text;
Session["params"] = MyCallParams = "qd_arbeitsgang|betr_auftrag_id|" + ddlPosition.SelectedValue;
Session["params2"] = MyCallParams = "qd_position|position_id|" + ddlPosition.SelectedValue;
Session["params3"] = MyCallParams = "qd_kommission|kommission_id|" + ddlKommission.SelectedValue + "," +
"qd_position|position_id|" + ddlPosition.SelectedValue + "," +
"variable|nuroffenepos|true";

тогда и window.open() юзай

з.ы. все, успехов, побежал пить пиво.
...
Рейтинг: 0 / 0
Проблема
    #34048604
vitalycrash
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сейчас попробуем!
...
Рейтинг: 0 / 0
Проблема
    #34048621
vitalycrash
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хмммм... чё то не ворк...Спасибо! Сейчас подумаем
...
Рейтинг: 0 / 0
Проблема
    #34048636
vitalycrash
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
protected void Page_Load(object sender, EventArgs e)
{
Session["name"] = lblReportname.Text;
Session["params"] = MyCallParams = "qd_arbeitsgang|betr_auftrag_id|" + ddlPosition.SelectedValue;
Session["params2"] = MyCallParams = "qd_position|position_id|" + ddlPosition.SelectedValue;
Session["params3"] = MyCallParams = "qd_kommission|kommission_id|" + ddlKommission.SelectedValue + "," +
"qd_position|position_id|" + ddlPosition.SelectedValue + "," +
"variable|nuroffenepos|true";
BtnOk1.Attributes.Add("onclick", "window.open('default4.aspx');return false");
DateTime dt = System.DateTime.Today;
lblDatum.Text = String.Format("{0:dd.MM.yyyy}", dt);
...
Рейтинг: 0 / 0
Проблема
    #34048799
Фотография Суповой набор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот смотри:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
protected void btnOk_Click(object sender, EventArgs e)
{
	Session["name"] = lblReportname.Text;
	Session["params"] = MyCallParams = "qd_arbeitsgang|betr_auftrag_id|" + ddlPosition.SelectedValue;
	Session["params2"] = MyCallParams = "qd_position|position_id|" + ddlPosition.SelectedValue;
	Session["params3"] = MyCallParams = "qd_kommission|kommission_id|" + ddlKommission.SelectedValue + "," +
	"qd_position|position_id|" + ddlPosition.SelectedValue + "," +
	"variable|nuroffenepos|true";
	Response.Redirect("default4.aspx");

if (lblReportname.Text == "APlan-/A-Gang / Arbeits-Gang")
{
	MyCallParams = "qd_arbeitsgang|betr_auftrag_id|" + ddlPosition.SelectedValue;
	Session["Klas"] = "TRep_Arbeitsgang";
	ProcessWebservice("TRep_Arbeitsgang", MyCallParams);
}
if (lblReportname.Text == "APlan-/A-Gang / Arbeits-Plan")
{
	MyCallParams = "qd_position|position_id|" + ddlPosition.SelectedValue;
	Session["Klas"] = "TrptArbeitsplan";
	ProcessWebservice("TrptArbeitsplan", MyCallParams);
}
if (lblReportname.Text == "Status / Kommissions-Status")
{
	MyCallParams =
	"qd_kommission|kommission_id|" + ddlKommission.SelectedValue + "," +
	"qd_position|position_id|" + ddlPosition.SelectedValue + "," +
	"variable|nuroffenepos|true";
	Session["Klas"] = "TRep_KommStatus";
	ProcessWebservice("TRep_KommStatus", MyCallParams);
этот код страницы дефолт3
а вернее - обработка события клик btnOk
где весь код страницы дефолт3?
дальше:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
public partial class Default4 : System.Web.UI.Page
{
	public String MyCallParams;
	public String ReportName;
	public String ReportParams;

protected void Page_Load(object sender, EventArgs e)
{
	this.RegisterStartupScript("OnLoad", "<script language ='javascript'>" + Button1.ClientID + ".click();</script>");
}
private void ProcessWebservice4(String ReportName, String ReportParams)
{
	ebkservice.IWebPrintServiceservice Webservice = new ebkservice.IWebPrintServiceservice();
	Byte[] Data = Webservice.getPdfReport(ReportName, ReportParams);

	Response.ContentType = "application/pdf";
	Response.Charset = "Windows-1251";
	Response.AddHeader("Content-Disposition", "inline");
	Response.BinaryWrite(Data);
	Response.End();
}


protected void Button1_Click(object sender, EventArgs e)
{
if (Session["name"].ToString() == "APlan-/A-Gang / Arbeits-Gang")
{
	Session["params"].ToString();
	ProcessWebservice4("TRep_Arbeitsgang", Session["params"].ToString());
}
if (Session["name"].ToString() == "APlan-/A-Gang / Arbeits-Plan")
{
	Session["params2"].ToString();
	ProcessWebservice4("TrptArbeitsplan", Session["params2"].ToString());
}
if (Session["name"].ToString() == "Status / Kommissions-Status")
{
	Session["params3"].ToString();
	ProcessWebservice4("TRep_KommStatus", Session["params3"].ToString());
}

}
}
этот код страницы дефолт4
ты пытаешься при загрузке этой страницы вызвать код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
protected void Button1_Click(object sender, EventArgs e)
{
if (Session["name"].ToString() == "APlan-/A-Gang / Arbeits-Gang")
{
	Session["params"].ToString();
	ProcessWebservice4("TRep_Arbeitsgang", Session["params"].ToString());
}
if (Session["name"].ToString() == "APlan-/A-Gang / Arbeits-Plan")
{
	Session["params2"].ToString();
	ProcessWebservice4("TrptArbeitsplan", Session["params2"].ToString());
}
if (Session["name"].ToString() == "Status / Kommissions-Status")
{
	Session["params3"].ToString();
	ProcessWebservice4("TRep_KommStatus", Session["params3"].ToString());
}

}
}
нахера такой гемор?
разве нельзя сделать так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
public partial class Default4 : System.Web.UI.Page
{
	public String MyCallParams;
	public String ReportName;
	public String ReportParams;

protected void Page_Load(object sender, EventArgs e)
{
if (Session["name"].ToString() == "APlan-/A-Gang / Arbeits-Gang")
{
	Session["params"].ToString();
	ProcessWebservice4("TRep_Arbeitsgang", Session["params"].ToString());
}
if (Session["name"].ToString() == "APlan-/A-Gang / Arbeits-Plan")
{
	Session["params2"].ToString();
	ProcessWebservice4("TrptArbeitsplan", Session["params2"].ToString());
}
if (Session["name"].ToString() == "Status / Kommissions-Status")
{
	Session["params3"].ToString();
	ProcessWebservice4("TRep_KommStatus", Session["params3"].ToString());
}
}
private void ProcessWebservice4(String ReportName, String ReportParams)
{
	ebkservice.IWebPrintServiceservice Webservice = new ebkservice.IWebPrintServiceservice();
	Byte[] Data = Webservice.getPdfReport(ReportName, ReportParams);

	Response.ContentType = "application/pdf";
	Response.Charset = "Windows-1251";
	Response.AddHeader("Content-Disposition", "inline");
	Response.BinaryWrite(Data);
	Response.End();
}
}

вообще, имхо, тут полный бардак - меняй весь код, и объясни плиз ЧТО ТЫ ХОЧЕШЬ СДЕЛАТЬ? - если я правильно понял - ты хочешь по клик на кнопке в дефолт3 - открыть новое окно дефолт4? - тогда вот этот код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
protected void btnOk_Click(object sender, EventArgs e)
{
	Session["name"] = lblReportname.Text;
	Session["params"] = MyCallParams = "qd_arbeitsgang|betr_auftrag_id|" + ddlPosition.SelectedValue;
	Session["params2"] = MyCallParams = "qd_position|position_id|" + ddlPosition.SelectedValue;
	Session["params3"] = MyCallParams = "qd_kommission|kommission_id|" + ddlKommission.SelectedValue + "," +
	"qd_position|position_id|" + ddlPosition.SelectedValue + "," +
	"variable|nuroffenepos|true";
	Response.Redirect("default4.aspx");

if (lblReportname.Text == "APlan-/A-Gang / Arbeits-Gang")
{
	MyCallParams = "qd_arbeitsgang|betr_auftrag_id|" + ddlPosition.SelectedValue;
	Session["Klas"] = "TRep_Arbeitsgang";
	ProcessWebservice("TRep_Arbeitsgang", MyCallParams);
}
if (lblReportname.Text == "APlan-/A-Gang / Arbeits-Plan")
{
	MyCallParams = "qd_position|position_id|" + ddlPosition.SelectedValue;
	Session["Klas"] = "TrptArbeitsplan";
	ProcessWebservice("TrptArbeitsplan", MyCallParams);
}
if (lblReportname.Text == "Status / Kommissions-Status")
{
	MyCallParams =
	"qd_kommission|kommission_id|" + ddlKommission.SelectedValue + "," +
	"qd_position|position_id|" + ddlPosition.SelectedValue + "," +
	"variable|nuroffenepos|true";
	Session["Klas"] = "TRep_KommStatus";
	ProcessWebservice("TRep_KommStatus", MyCallParams);
}
}
тут же видно, что параметры в сессии формируются на основе каких-то данных с формы дефолт3. - тогда делай постбэк на дефолт4 и из Request.Form - получай эти параметры и формируй по ним отчет. нафига вообще страница дефолт4?
все это можно сделать на дефолт3. если хочешь, чтобы отчет сформировался в отдельном окне - заюзай HttpHandler - и передавай ему необходимые параметры в том же get'е, только все ненужное скрывай, тулбары там и прочую хню.
...
Рейтинг: 0 / 0
Проблема
    #34048850
vitalycrash
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Объясняю!
Мне это нужно было для того что...
Был отчет! Генерировался на дефолт 3... открывался inline Мне нужно было сделать чтобы открывался в новом окне отчёт... Я спрашивал... сам пробовал! Этого сделать нельзя... Что я сделал тогда?-Я сделал просто Дефолт4 в который занёс параметры отчета...и при нажатии на кнопку открывается Дефолт 4 и там inline открывается отчет. Вот что надо было...
Теперь в реальность:
public partial class Default4 : System.Web.UI.Page
{
public String MyCallParams;
public String ReportName;
public String ReportParams;

protected void Page_Load(object sender, EventArgs e)
{
if (Session["name"].ToString() == "APlan-/A-Gang / Arbeits-Gang")
{
Session["params"].ToString();
ProcessWebservice4("TRep_Arbeitsgang", Session["params"].ToString());
}
if (Session["name"].ToString() == "APlan-/A-Gang / Arbeits-Plan")
{
Session["params2"].ToString();
ProcessWebservice4("TrptArbeitsplan", Session["params2"].ToString());
}
if (Session["name"].ToString() == "Status / Kommissions-Status")
{
Session["params3"].ToString();
ProcessWebservice4("TRep_KommStatus", Session["params3"].ToString());
}
}
private void ProcessWebservice4(String ReportName, String ReportParams)
{
ebkservice.IWebPrintServiceservice Webservice = new ebkservice.IWebPrintServiceservice();
Byte[] Data = Webservice.getPdfReport(ReportName, ReportParams);

Response.ContentType = "application/pdf";
Response.Charset = "Windows-1251";
Response.AddHeader("Content-Disposition", "inline");
Response.BinaryWrite(Data);
Response.End();
}
}
Про это собственно и был первый мой пост:) я так и пытаюсь сделать... но открывается пустой лист в новом окне. А вторая дополнительная кнопка открывает этот же дефолт4 с отличным отчетом. Вот собственно!
И вот идеи postback и Request.Form Но как? я не опытен в этих делах... поэтому и просил помощи! Как это лучше сделать и главное как?
Спасибо заранее! Ну и за это тоже!
P.S. А вот с хэндлером мне кажется не то, т.к. метод get!! я пытался поставить его на форму-у меня всё отказывалось работать!
...
Рейтинг: 0 / 0
Проблема
    #34050518
vitalycrash
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть какие нибудь идеи? Подкиньте может чего... буду благодарен
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Проблема
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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