Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Respons.Redirect и Request.QueryString, Request.QueryString.Cont=0 
V
    Опции темы
Naum
Дата 22.12.2006, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 743
Регистрация: 7.9.2005
Где: Саратов, ул. Поса дского, 298

Репутация: 2
Всего: 15



Собственно, есть три страницы:Default.aspx, Logon.aspx, AddUser\AddUser.aspx. На странице Logon.aspx пользователь вводит ник и пароль. Если такого ника нет в базе пользователей то Response.Redirect("AddUser\AddUser.aspx");
На странице AddUser такие же поля, что и на Logon (UserName, UserPass).
При выполнении следующего кода UserName остается пустым
Код

   String user=Request.QueryString["UserName"];
   if (null !=userl)
   {
      UserName.Value=user;
   }

Почему? Подскажите пжлста.


--------------------
У нас всего два праздника Новый год и ТЯПница.
PM MAIL ICQ   Вверх
login26
Дата 22.12.2006, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 12.12.2006
Где: Ростов на Дону

Репутация: 1
Всего: 1



а UserName.text=user;  не пробовал?
PM MAIL   Вверх
6atoh
Дата 24.12.2006, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 160
Регистрация: 15.9.2006
Где: Minsk

Репутация: 1
Всего: 4



Цитата(Naum @  22.12.2006,  13:50 Найти цитируемый пост)
Response.Redirect("AddUser\AddUser.aspx");

Что-то я не понял где ты отдаешь параметр UserName
PM MAIL ICQ   Вверх
Naum
Дата 25.12.2006, 11:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 743
Регистрация: 7.9.2005
Где: Саратов, ул. Поса дского, 298

Репутация: 2
Всего: 15



Цитата(6atoh @  24.12.2006,  17:14 Найти цитируемый пост)
Что-то я не понял где ты отдаешь параметр UserName 

Вот! Именно это я и хотел спросить. На ASP совсем недавно. Написал немного изменный пример из MSDN. И пока я не знаю как передавать парамтры при Redirect'е страницы. Я то думал, что все параметры данной страницы передаются в Redirect автоматически.  smile


Это сообщение отредактировал(а) Naum - 25.12.2006, 11:43


--------------------
У нас всего два праздника Новый год и ТЯПница.
PM MAIL ICQ   Вверх
6atoh
Дата 25.12.2006, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 160
Регистрация: 15.9.2006
Где: Minsk

Репутация: 1
Всего: 4



Правила простые - пишешь сам url, потом "?" и теперь можешь писать параметр "имя_параметра=значение". В твоем случае строка запроса будет выглядеть так:
Код

queryString = "AddUser.aspx?UserName="+UserName.Value;

если нужно передать несколько параметров, используеться знак "%":
Код

queryString = "AddUser.aspx?UserName=bob%page=1";

PM MAIL ICQ   Вверх
Naum
Дата 25.12.2006, 12:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 743
Регистрация: 7.9.2005
Где: Саратов, ул. Поса дского, 298

Репутация: 2
Всего: 15



6atoh, спасибо. +1.

Это сообщение отредактировал(а) Naum - 25.12.2006, 15:17


--------------------
У нас всего два праздника Новый год и ТЯПница.
PM MAIL ICQ   Вверх
dazy
Дата 25.12.2006, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 344
Регистрация: 15.9.2006

Репутация: 4
Всего: 8



Если добавлять к url "?" и все такое то все это будет видеть пользователь. Это не страшно, но все же.
Кроме того придется самому заботиться о передаче параметра в QueryString, в ручную. :(
Можно поступить по другому. 
Есть механизм передачи данных между страницами.

1. Установить для кнопки свойство PostBackURL на страницу AddUser.aspx. При нажатии сервер перенаправит пользователя на эту страничку, и можно получить доступ ко всем контролам исходной страницы используя Page.PreviousPage. Но есть ряд сложностей. 
2. Можно напрямую получить доступ к измененным свойствам контролов,  таких как ТекстБокс ЛистБокс и т.п. через Form коллекцию (свойство PostBackURL так же должно быть определено). Если какие то данные передаются не явно, т.е. пользователь их не воодит сам, то эти данные можно засунуть в скрытое поле на исходной странице, а обратиться к ним на вызываемой через Request.Form.

Как я понял более правильно работать с Page.PreviousPage, чуть сложнее, но больше возможностей. 
Вам подойдет Request.Form("UserName").

3. Более простой и удобный вариант - использовать multi-view форму. Это конечно не прередача данных м-ду страницами, но результат тот же. Кроме того страница AddUser.aspx не нужна :)  На вашем месте я бы выбрал именно этот вариант.

Если все же решитесь передавать данные между страницами, то включите трассировку, тогда увидите все данные которые передаются между страницами, и много другой интересной и полезной информации :)

Более подробно о Page.PreviousPage можно почитать тут http://msdn2.microsoft.com/en-us/library/ms178139.aspx

PM MAIL   Вверх
Naum
Дата 25.12.2006, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 743
Регистрация: 7.9.2005
Где: Саратов, ул. Поса дского, 298

Репутация: 2
Всего: 15



Цитата(dazy @  25.12.2006,  15:25 Найти цитируемый пост)
включите трассировку

А это как?  smile 



--------------------
У нас всего два праздника Новый год и ТЯПница.
PM MAIL ICQ   Вверх
dazy
Дата 25.12.2006, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 344
Регистрация: 15.9.2006

Репутация: 4
Всего: 8



1. Для отдельной странички.
  открываете страничку в Source mode (режим который отображает код странички)
  ставите мышку на слово Page. Как правило самая верхняя строка в теге <%@ ...
  с небольшой задержкой (это у меня так, если у вас комп скоростной то задержки может и не будет) окошко Properties изменится. Там появятся свойства страники. 
  Найдте свойство Trace и установите его в true.
  Все, запускайте страничку. После самой странички вывалиться куча полезной инфы.

подробнее, как сделать это ручками (т.е. писать код, а не щелкать мышкой), но эффект тот-же: http://msdn2.microsoft.com/en-us/library/94c55d08.aspx

2. Для приложения в целом:
  тут все подробно описано, http://msdn2.microsoft.com/en-us/library/0x5wc973.aspx

(Трассировки на уровне странички будет вполне достаточно.)
PM MAIL   Вверх
Mymik
Дата 25.12.2006, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

Репутация: 50
Всего: 78



dazy опередил :о) пост не актуален :о)

И все же, думаю что обычный Debug ему бы подошел больше... 
1. добавит в проект файл web.config и заменить там строку <compilation debug="false" /> на <compilation debug="true" />. В последствии поставить в CS файле Breakpoints и нажать F5 (Start Debugging).

2. все так же поставит Breakpoints в CS Файле, а потом Tools -->> Attache to Process -->> aspnet_wp.exe после чего, заходим в любой браузер и заходим на нужную нас страницу. Если при работе со страницей вы поподаете на какую-либо Breakpoint тогда вы поподаете в студию и там начинаете трассировать

P.S. F11 последующий шаг трассировки
       F5 перейти к следующей Breakpoint

Это сообщение отредактировал(а) Mymik - 25.12.2006, 15:20


--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
Naum
Дата 25.12.2006, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 743
Регистрация: 7.9.2005
Где: Саратов, ул. Поса дского, 298

Репутация: 2
Всего: 15



dazy,  и тебе спасибо. Я думаю +1.


--------------------
У нас всего два праздника Новый год и ТЯПница.
PM MAIL ICQ   Вверх
dazy
Дата 25.12.2006, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 344
Регистрация: 15.9.2006

Репутация: 4
Всего: 8



Mymik

Похоже мы говорим про разные трассировки :)
Вы про трассировку при отладке кода, а я про трассировку при выводе странички в браузере.
Ну да ладно, подошли к проблеме со всех сторон :)))!
PM MAIL   Вверх
Mymik
Дата 25.12.2006, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

Репутация: 50
Всего: 78



dazy, я написал, что я говорю о Debug ;о)

Цитата(Mymik @  25.12.2006,  15:16 Найти цитируемый пост)
обычный Debug


Хотя вот сейчас сам юзаю trace точнее ищу куда бы его вставить.. .а то с HttpHandler замахался... хрен его знает куда он переадресует мои запросы, а класс что он юзает зашит в бинарный код....  Вот и ставлю везде где в голову прийдет :о) а вдруг наткнусь... насколько я помню там все такие Request.Url дает реальный адрес, а не вымысил что подкидывает HttpHandler

sorry за  smile Это была просто лирика :о)


--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.0980 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.