Добрый день всем.
Перехожу с чистого ASP на ASP.NET и возникают вопросы. Раньше было достаточно просто создать 2 странички для ввода информации и вывода результатов. Допустим я создавал страничку source.asp, в ней делал форму и задавал ей action="target.asp" После submit-а данные из формы разбирал на страничке target.asp через Requset.Form. Сейчас же я даже не могу задать тэг action. Т.е. даже если я его задаю, то в форме которая попадает в броузер я опять вижу action указывающий на эту же страничку.
Не сомневаюсь что сделать это просто, но я куда-то не туда смотрел. Уважаемые, подскажите куда смотреть?
Hello, "Alexandr_N"
> Перехожу с чистого ASP на ASP.NET и возникают вопросы. Раньше было достаточно просто создать 2 странички для ввода информации и вывода результатов. Допустим я создавал страничку source.asp, в ней делал форму и задавал ей action="target.asp" После submit-а данные из формы разбирал на страничке target.asp через Requset.Form. Сейчас же я даже не могу задать тэг action. Т.е. даже если я его задаю, то в форме которая попадает в броузер я опять вижу action указывающий на эту же страничку.
> Не сомневаюсь что сделать это просто, но я куда-то не туда смотрел. Уважаемые, подскажите куда смотреть?
Можно в качестве action оставить Source.aspx, на которой вызывать HttpServerUtility.Transfer("Target.aspx", true)
Хотя обычно в ASP.NET таких проблем возникать не должно — возможно стоит пересмотреть организацию свого приложения.
Posted via RSDN NNTP Server 1.8 beta
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Здравствуйте, Alexandr_N, Вы писали:
TK>>Можно в качестве action оставить Source.aspx, на которой вызывать HttpServerUtility.Transfer("Target.aspx", true)
TK>>Хотя обычно в ASP.NET таких проблем возникать не должно — возможно стоит пересмотреть организацию свого приложения.
A_N>Не спорю. Тогда как реализовать в концепции ASP.NET следующее: на одной страничке мы вводим какие-то данные, и по нажатию на Submit получаем отчет на другой странице на основании данных, введенных на первой странице. Как это положить по-человечески в ASP.NET? Ведь процедура более чем стандартная.
1. На странице А. положить введенные данные в HttpContext.Items
2. сделать Server.Transfer на страницу B
3. достать данные из HttpContext.Items
4. отобразить отчет
... << RSDN@Home 1.1 beta 2 >>
Здравствуйте, Alexandr_N, Вы писали:
TK>>Можно в качестве action оставить Source.aspx, на которой вызывать HttpServerUtility.Transfer("Target.aspx", true)
TK>>Хотя обычно в ASP.NET таких проблем возникать не должно — возможно стоит пересмотреть организацию свого приложения.
A_N>Не спорю. Тогда как реализовать в концепции ASP.NET следующее: на одной страничке мы вводим какие-то данные, и по нажатию на Submit получаем отчет на другой странице на основании данных, введенных на первой странице. Как это положить по-человечески в ASP.NET? Ведь процедура более чем стандартная.
Здесь идеология немного другая (более правильная, ИМХО). Данные формы должны приходить тойже странице, которая их и отдавала клиенту, так как именно на ней логически должен быть сосредоточен код, работающий с этими элементами. Т.е. ты не лезешь в Forms("") за значениями, а используешь стандартный ООП синтаксис, где эти элементы представляются членами странички. Как это дело работает, по идее тебе не сильно важно (хотя интересно

), ты просто должен от этого извлекать пользу.
После того, как страничка запостбечина, все контролы созданы и имеют правильные, отражающие пользовательский ввод, данные, ты приступаешь к обработке этих данных. Заметь, не где нибудь, а именно на этой странице.
Если все идет нормально, после обработки, пользователь может быть перенаправлен на другую страницу, где выводятся результаты. Можно все и на одной странице оформить, используя всекие asp:Panel и скрывая то одну, то другую.
Кроме этого, существуют и технические причины, почему в ASP.NET разрешена только одна форма на странице и ее action должен указывать на исходную страничку.
... << RSDN@Home 1.1.0 stable >>