<FORM ACTION="Your favorite URL here">
-
- Уже с Приветом
- Posts: 1474
- Joined: 11 Feb 2001 10:01
- Location: Atlanta, GA, USA
<FORM ACTION="Your favorite URL here">
Кто-нибудь может объяснить, почему атрибут "ACTION" тега "FORM", определённый во всех стандартах HTML, игнорируется ASP.Net? Какой смысл было убирать эту столь удобную фичу?
Попутный вопрос. Как при таком положении дел передать информацию, введённую пользователем на одной web-форме, в другую web-форму, не конструируя вручную строку запроса и не создавая по свойству на каждый элемент управления на странице, в которое приходится писать на исходной странице, и которое приходится читать на странице, получающей эту информацию.
Спасибо.
Попутный вопрос. Как при таком положении дел передать информацию, введённую пользователем на одной web-форме, в другую web-форму, не конструируя вручную строку запроса и не создавая по свойству на каждый элемент управления на странице, в которое приходится писать на исходной странице, и которое приходится читать на странице, получающей эту информацию.
Спасибо.
Make no small plans, for they have no power to stir the blood. Daniel H.Burnham
-
- Уже с Приветом
- Posts: 23804
- Joined: 05 Jul 2003 22:34
- Location: Брест -> St. Louis, MO
Re: <FORM ACTION="Your favorite URL here">
Escaper wrote:Кто-нибудь может объяснить, почему атрибут "ACTION" тега "FORM", определённый во всех стандартах HTML, игнорируется ASP.Net? Какой смысл было убирать эту столь удобную фичу?
Потому что не подразумевается использование... Как вы представляете использование таких фич как viewstate когда программеры постят формы куда хотят. Короче это все легко обьяснимо.
Но не все так плохо. Достаточно убрать из <FORM> директиву runat=server и все будет работать. Вообще asp.net разрешает только одну такую форму на странице. И требует ее в определенных случаях.
Попутный вопрос. Как при таком положении дел передать информацию, введённую пользователем на одной web-форме, в другую web-форму, не конструируя вручную строку запроса и не создавая по свойству на каждый элемент управления на странице, в которое приходится писать на исходной странице, и которое приходится читать на странице, получающей эту информацию.
Тут уже вариантов куча. От сессии до cookies.
А вообще лучше таких вещей избегать по возможности
-
- Уже с Приветом
- Posts: 1474
- Joined: 11 Feb 2001 10:01
- Location: Atlanta, GA, USA
Re: <FORM ACTION="Your favorite URL here">
Escaper wrote:Кто-нибудь может объяснить, почему атрибут "ACTION" тега "FORM", определённый во всех стандартах HTML, игнорируется ASP.Net? Какой смысл было убирать эту столь удобную фичу?
katit wrote:Потому что не подразумевается использование... Как вы представляете использование таких фич как viewstate когда программеры постят формы куда хотят. Короче это все легко обьяснимо.
Ну объясните, please, если легко. Я, наверное, чего-то не понимаю. Что плохого в том, чтобы постить, куда хочешь? Точнее даже не так. В чём вообще смысл веб-программирования как не в сборе данных на одной форме и передаче их на другую форму для обработки и отображения результатов (по крайней мере когда речь идёт о репортах и вообще приложениях, работающих по принципу "запрос-обработка-результат")?
katit wrote:Но не все так плохо. Достаточно убрать из <FORM> директиву runat=server и все будет работать.
Что по сути превратит ASP.Net в plain ASP. С таким же успехом можно посоветовать не пользоваться ASP.Net, а вернуться на старый добрый ASP. О чём и речь - раньше работало, теперь - нет.
Попутный вопрос. Как при таком положении дел передать информацию, введённую пользователем на одной web-форме, в другую web-форму, не конструируя вручную строку запроса и не создавая по свойству на каждый элемент управления на странице, в которое приходится писать на исходной странице, и которое приходится читать на странице, получающей эту информацию.
katit wrote:Тут уже вариантов куча. От сессии до cookies.
А вообще лучше таких вещей избегать по возможности
Как это "избегать"?! I don't get it. 90 процентов того, что я сейчас пишу - это сбор данных, их обработка и выдача результата. Как это делать "правильно"?
Make no small plans, for they have no power to stir the blood. Daniel H.Burnham
-
- Уже с Приветом
- Posts: 23804
- Joined: 05 Jul 2003 22:34
- Location: Брест -> St. Louis, MO
Я не понимаю вопроса.
Наверное мне легче понять ASP.NET т.к. я с него и начал веб программирование.
Приведите пример конкретной задачи где совсем уже невмоготу что надо постить в другую страницу.
Прелесть ASP.NET в том что можно обрабатывать события и писать человеческий код. А если постить в другие места то как и в ASP надо проверять данные и т.п. В чем смысл тогда ?
Я лично это использую только для интеграции с другиме веб страницами (не ASP.NET)
Наверное мне легче понять ASP.NET т.к. я с него и начал веб программирование.
Приведите пример конкретной задачи где совсем уже невмоготу что надо постить в другую страницу.
Прелесть ASP.NET в том что можно обрабатывать события и писать человеческий код. А если постить в другие места то как и в ASP надо проверять данные и т.п. В чем смысл тогда ?
Я лично это использую только для интеграции с другиме веб страницами (не ASP.NET)
-
- Уже с Приветом
- Posts: 1474
- Joined: 11 Feb 2001 10:01
- Location: Atlanta, GA, USA
Пример. Надо получить от пользователя некоторые критерии и на основе этих критериев вернуть строки из базы данных в виде таблицы. При этом сбор критериев должен осуществляться в одном окне Internet Explorer'а, а отображение результатов - в другом. Как это правильно сделать в ASP.Net?
Make no small plans, for they have no power to stir the blood. Daniel H.Burnham
-
- Уже с Приветом
- Posts: 23804
- Joined: 05 Jul 2003 22:34
- Location: Брест -> St. Louis, MO
-
- Уже с Приветом
- Posts: 1474
- Joined: 11 Feb 2001 10:01
- Location: Atlanta, GA, USA
katit wrote:Я никогда поп ап не делаю.
А в том-же окне легко.
Ну какая разница?! Забудьте пор pop-up. Пусть всё будет в одном окне. Как сделать так, чтобы исходный код для сбора данных и для их отображения физически находился в разных исходных файлах? Это возможно? Это должно быть не просто возможно. Это должно допускаться по умолчанию, без каких-либо усложнений. Ибо это - одно из фундаментальных правил хорошего стиля программирования - группирование кода по признаку природы выполняемых им задач. Кроме того, я могу захотеть иметь несколько форм, собирающих данные, результат обработки которых должен выводится в одинаковом формате. Логично в этом случае сделать несколько форм, собирающих данные, и только одну - отображающую результат. (Это на случай, если аргумент о неправильности писания всего кода в одном файле покажется неубедительным).
Make no small plans, for they have no power to stir the blood. Daniel H.Burnham
-
- Уже с Приветом
- Posts: 23804
- Joined: 05 Jul 2003 22:34
- Location: Брест -> St. Louis, MO
Escaper wrote:katit wrote:Я никогда поп ап не делаю.
А в том-же окне легко.
Ну какая разница?! Забудьте пор pop-up.
Ну тогда в чем проблема вообще не понимаю.
Есть такая вещь как user control
Вот пишется один для получения данных, другой для изображения.
Их можно на одной и той-же странице разместить. При поиске показать контрол выборки а при постбэке его спрятать и показать контрол данных.
-
- Уже с Приветом
- Posts: 1474
- Joined: 11 Feb 2001 10:01
- Location: Atlanta, GA, USA
katit wrote:Есть такая вещь как user control
Вот пишется один для получения данных, другой для изображения.
Их можно на одной и той-же странице разместить. При поиске показать контрол выборки а при постбэке его спрятать и показать контрол данных.
Ok, значит, правильный стиль программирования в ASP.Net - разбивать весь код на user control'ы? (Вроде бы с тем, что код надо разбивать, Вы спорить не стали.)
Make no small plans, for they have no power to stir the blood. Daniel H.Burnham
-
- Уже с Приветом
- Posts: 1407
- Joined: 07 Jan 2003 19:51
- Location: НорКа
-
- Уже с Приветом
- Posts: 23804
- Joined: 05 Jul 2003 22:34
- Location: Брест -> St. Louis, MO
Escaper wrote:Ok, значит, правильный стиль программирования в ASP.Net - разбивать весь код на user control'ы? (Вроде бы с тем, что код надо разбивать, Вы спорить не стали.)
То что код надо разбивать я не спорил т.к. только так и надо все делать.
И естественно повторяющиеся блоки ПРЕЗЕНТАЦИИ надо помещать в user controls. А если что-то очень часто используемое то и в custom controls.
насколько я знаю (может не прав) такой вещи как "include" ASP.NET не имеет.
Просто в декларациях надо прописывать "using ThisNamespace" но это уже про код а не презентацию. Основной вопрос я пожалуй отнесу к проблеме обмена данными между user controls. А для этого есть properties которые вы можете обозначать.
В общем заморочки есть свои, но надо смотреть на asp.net как на программирование а не как написание скриптов и парсинг HTML как в asp.
-
- Уже с Приветом
- Posts: 12014
- Joined: 05 Apr 2000 09:01
- Location: Philadelphia, PA, USA
Escaper wrote:Ну какая разница?! Забудьте пор pop-up. Пусть всё будет в одном окне. Как сделать так, чтобы исходный код для сбора данных и для их отображения физически находился в разных исходных файлах? Это возможно? Это должно быть не просто возможно. Это должно допускаться по умолчанию, без каких-либо усложнений. Ибо это - одно из фундаментальных правил хорошего стиля программирования - группирование кода по признаку природы выполняемых им задач.
А какие к тому препятствия? Шо, кто-то отменил классы, модули с функциями, те же контролы?
-
- Уже с Приветом
- Posts: 12014
- Joined: 05 Apr 2000 09:01
- Location: Philadelphia, PA, USA
-
- Уже с Приветом
- Posts: 12014
- Joined: 05 Apr 2000 09:01
- Location: Philadelphia, PA, USA
-
- Уже с Приветом
- Posts: 23804
- Joined: 05 Jul 2003 22:34
- Location: Брест -> St. Louis, MO
-
- Уже с Приветом
- Posts: 12014
- Joined: 05 Apr 2000 09:01
- Location: Philadelphia, PA, USA
katit wrote:Это не подключение библиотек и user controlov в заголовках?
А что подробнее - обчный инклюд как в ASP:
<!--#include file ="somefilename"-->
http://www.w3schools.com/asp/asp_incfiles.asp
-
- Уже с Приветом
- Posts: 23804
- Joined: 05 Jul 2003 22:34
- Location: Брест -> St. Louis, MO
vovap wrote:katit wrote:Это не подключение библиотек и user controlov в заголовках?
А что подробнее - обчный инклюд как в ASP:
<!--#include file ="somefilename"-->
http://www.w3schools.com/asp/asp_incfiles.asp
Короче нету такого (и очень хорошо)
http://groups.google.com/groups?hl=en&l ... e%2BSearch
(линк может побиться)
-
- Уже с Приветом
- Posts: 23804
- Joined: 05 Jul 2003 22:34
- Location: Брест -> St. Louis, MO
-
- Уже с Приветом
- Posts: 569
- Joined: 14 Dec 2003 04:06
- Location: Львов->Киев->Торонто
Вообще то поменять можно из клиентского JavaScript используя DOM. Я делал, уже не припомню зачем
Проблема в том что результат POST может обработать только обработчик страницы который и сгенерил саму страницу, а по результату можно вызвать на сервере Redirect or Transfer
Проблема в том что результат POST может обработать только обработчик страницы который и сгенерил саму страницу, а по результату можно вызвать на сервере Redirect or Transfer
Никакой разрухи нет. (с) Проф. Преображенский.
-
- Уже с Приветом
- Posts: 1474
- Joined: 11 Feb 2001 10:01
- Location: Atlanta, GA, USA
Спасибо всем за интересные мысли по поводу. Но всё же хотелось бы ещё раз уточнить "политически корректный" стиль программирования на ASP.Net. Допустим, необходимо создать маленькое веб-приложеньеце, которое сначала собирает от пользователя некоторые данные, а затем в том же окне выводит некие результаты обработки этих данных на сервере. Необходимым условием является то, чтобы исходный код был физически (по файлам) разбит на следующие части:
1) ASPX-код, отображающий элементы управления для сбора данных
2) Code-behind для 1)
3) C#-код для обработки собранной информации
4) ASPX-код, отображающий результаты обработки собранных данных
5) Code-behind для 4)
Каким образом правильно организовать подобную разбивку кода на части и передачу данных между разными частями кода?
Как вариант можно рассмотреть те же условия, но при наличии требования, чтобы результаты обработки собранных данных отображались в новом окне (это может быть нужно, например, для отображения результатов в другом фрейме; или просто для выполнения желания заказчика, которое, как известно, закон).
1) ASPX-код, отображающий элементы управления для сбора данных
2) Code-behind для 1)
3) C#-код для обработки собранной информации
4) ASPX-код, отображающий результаты обработки собранных данных
5) Code-behind для 4)
Каким образом правильно организовать подобную разбивку кода на части и передачу данных между разными частями кода?
Как вариант можно рассмотреть те же условия, но при наличии требования, чтобы результаты обработки собранных данных отображались в новом окне (это может быть нужно, например, для отображения результатов в другом фрейме; или просто для выполнения желания заказчика, которое, как известно, закон).
Make no small plans, for they have no power to stir the blood. Daniel H.Burnham