powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Передача параметров между страницами.
25 сообщений из 26, страница 1 из 2
Передача параметров между страницами.
    #38753184
antihacker777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем дотнетовцам !

Не могу грамотно организовать передачу парамтров между страницами.

Почему ?

1) Сессия не удобна. Перезаписываетя. Например. Session["SelectedUserID"]. При открытие данные второго сотрудника , первое окно становится как второе.

2) Использования PreviuosPage тоже не идет. Потому что страницы открываются в разных окнах.

3) Яваскрипт через Opener запретили админы. Гвоврят все должно быть серверным. Да и Opener удобно , если передать данные из контрола текущей страницы в контроль целевой страницы. А мне как раз надо передать просто в переменную.


Кто что предложит ?
...
Рейтинг: 0 / 0
Передача параметров между страницами.
    #38753187
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antihacker777, query string?
...
Рейтинг: 0 / 0
Передача параметров между страницами.
    #38753188
antihacker777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так данные будут видны в адресной строке. Это вообще атас. Система должна быть максимально защищенной.

Спасибо.
...
Рейтинг: 0 / 0
Передача параметров между страницами.
    #38753190
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antihacker777, и что же такого секретного в SelectedUserID?
...
Рейтинг: 0 / 0
Передача параметров между страницами.
    #38753191
antihacker777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос не понял. Если Вы про QueryString то ведь туда проставляя в SelectedUserID ID другого пользователя можно просмотриовать данные другого.

СПС.
...
Рейтинг: 0 / 0
Передача параметров между страницами.
    #38753194
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antihacker777, эта проблема должна решаться проверкой прав доступа. Есть права - видишь запрошенную информацию, нет прав - не видишь.
...
Рейтинг: 0 / 0
Передача параметров между страницами.
    #38753196
antihacker777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну конечно. Думал может все таки есть что то оригинальное :-)

С уважением.
...
Рейтинг: 0 / 0
Передача параметров между страницами.
    #38753298
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antihacker777,

... если серверно и без истечения сессии - пишите в БД (создайте для этого отдельную таблицу) ...
...
Рейтинг: 0 / 0
Передача параметров между страницами.
    #38753338
antihacker777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как раз так и , если пользователь в течение 20 минут бездействует, то надо закрыть сессию.
Кстати, как можно принудительно закрыть приложение по истечению сесси ?
...
Рейтинг: 0 / 0
Передача параметров между страницами.
    #38753394
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antihacker777Кстати, как можно принудительно закрыть приложение по истечению сесси ?server push
...
Рейтинг: 0 / 0
Передача параметров между страницами.
    #38753395
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antihacker777, что значит "закрыть приложение по истечению сесси"? Как это должно выглядеть для пользователя? Его должно перенаправлять на страницу с надписью "goodbye"?
...
Рейтинг: 0 / 0
Передача параметров между страницами.
    #38753397
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
только браузер все равно задаст вопрос о том, позволить ли скрипту закрыть окно.
...
Рейтинг: 0 / 0
Передача параметров между страницами.
    #38753402
antihacker777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANA ,

Ты не телепат ? Угадал. Так и надо , что бы все было красиво. Это где то Session_end ?
...
Рейтинг: 0 / 0
Передача параметров между страницами.
    #38753408
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не, событие Session_End наступает по внутреннему таймеру сервера. В этот момент нет никакого запроса и Redirect не выйдет.
Надо в цикл обработки запроса вставить проверку.
...
Рейтинг: 0 / 0
Передача параметров между страницами.
    #38753416
antihacker777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
То есть страница каждую минуту должен проверять сесси на существования ?
...
Рейтинг: 0 / 0
Передача параметров между страницами.
    #38753420
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antihacker777, с просторов тырнета:

Add Global.asax class file in root of your application or website.
This method works only if Global.asax is present in application.


Write below mentioned code in Page_Init event of the page where we want to check for session timeout.
We can also put this code in in a class and inherit all pages of application from this class acting as base class for all pages to check for session timeout.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
protected void Page_Init(object sender, EventArgs e)
{
    if (Context.Session != null)
    {
        if (Session.IsNewSession)
        {
            HttpCookie newSessionIdCookie = Request.Cookies["ASP.NET_SessionId"];

            if (newSessionIdCookie != null)
            {
                string newSessionIdCookieValue = newSessionIdCookie.Value;

                if (newSessionIdCookieValue != string.Empty)
                {
                    // This means Session was timed Out and New Session was started
                    Response.Redirect("GoodBye.aspx");
                }
            }
        }
    }
}
...
Рейтинг: 0 / 0
Передача параметров между страницами.
    #38753421
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antihacker777То есть страница каждую минуту должен проверять сесси на существования ?

...если вы знаете время жизни сессии (стандартно 20 минут - например), то пусть джава-скрипт - а он запрещен? - тикает сет-таймаутом где-нибудь в уголке страницы, напоминая пользователю .. ну, в общем, это все костыли и велосипеды, переходите на веб-сервисы или WebAPI ... :)
...
Рейтинг: 0 / 0
Передача параметров между страницами.
    #38753473
antihacker777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
carrotikantihacker777То есть страница каждую минуту должен проверять сесси на существования ?

...если вы знаете время жизни сессии (стандартно 20 минут - например), то пусть джава-скрипт - а он запрещен? - тикает сет-таймаутом где-нибудь в уголке страницы, напоминая пользователю .. ну, в общем, это все костыли и велосипеды, переходите на веб-сервисы или WebAPI ... :)

Но смотри тогда. Ровно через 20 минут сессия умрет. А ява будет проверят 21-ой минуте. Если пользователь сделает экшн между 20 и 21 то опять не красивое окно выйдет )
...
Рейтинг: 0 / 0
Передача параметров между страницами.
    #38753479
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antihacker777carrotikпропущено...


...если вы знаете время жизни сессии (стандартно 20 минут - например), то пусть джава-скрипт - а он запрещен? - тикает сет-таймаутом где-нибудь в уголке страницы, напоминая пользователю .. ну, в общем, это все костыли и велосипеды, переходите на веб-сервисы или WebAPI ... :)

Но смотри тогда. Ровно через 20 минут сессия умрет. А ява будет проверят 21-ой минуте. Если пользователь сделает экшн между 20 и 21 то опять не красивое окно выйдет )+1

Не понял решения :)
...
Рейтинг: 0 / 0
Передача параметров между страницами.
    #38753493
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antihacker777carrotikпропущено...


...если вы знаете время жизни сессии (стандартно 20 минут - например), то пусть джава-скрипт - а он запрещен? - тикает сет-таймаутом где-нибудь в уголке страницы, напоминая пользователю .. ну, в общем, это все костыли и велосипеды, переходите на веб-сервисы или WebAPI ... :)

Но смотри тогда. Ровно через 20 минут сессия умрет. А ява будет проверят 21-ой минуте. Если пользователь сделает экшн между 20 и 21 то опять не красивое окно выйдет )типичный признак косорукой архитектуры.
если запрос экшена синхронный (страница обновляется), то нет никаких проблем сделать редирект на красивую страницу, если асинхронный, то аналогичный редирект можно сделать клиентским скриптом.
и таймер не нужен.
...
Рейтинг: 0 / 0
Передача параметров между страницами.
    #38753515
antihacker777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так как выше писал, что клиентский скрипт запрещен по максимум, то думаю вариант с Page_Init более грамотный
...
Рейтинг: 0 / 0
Передача параметров между страницами.
    #38753523
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAantihacker777пропущено...


Но смотри тогда. Ровно через 20 минут сессия умрет. А ява будет проверят 21-ой минуте. Если пользователь сделает экшн между 20 и 21 то опять не красивое окно выйдет )+1

Не понял решения :)

...вот такой вот дубовый джава-скрипт на веб-форме

Код: javascript
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.
<script type="text/javascript" language="javascript">
    var counter = 0;
    var mins = 19;
    var secs = mins * 60;
    
    function countdown() {
        setTimeout('Decrement()', 1000);
    }
    
    function Decrement() {
        if (document.getElementById) {
            minutes = document.getElementById("minutes");
            seconds = document.getElementById("seconds");
            if (seconds < 59) {
                seconds.value = secs;
            } else {
                minutes.value = getminutes();
                seconds.value = getseconds();
            }
            if (secs > 0) {
                secs--;
                setTimeout('Decrement()', 1000);
            } else {
            location.assign("SessionExpired.aspx");
            }
        }
    }
    
    function getminutes() {
            mins = Math.floor(secs / 60);
        return mins;
    }

    function getseconds() {
            return secs - Math.round(mins * 60);
    }



Код: html
1.
2.
3.
4.
5.
6.
7.
<div id="timer" align="right">
        Ваш сеанс заканчивается через
        <input id="minutes" type="text" style="width: 2%; border: none; font-weight: bold;">
        минут и
        <input id="seconds" type="text" style="width: 2%; border: none; font-weight: bold;">
        секунд.
    </div>
...
Рейтинг: 0 / 0
Передача параметров между страницами.
    #38753874
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antihacker777Так как выше писал, что клиентский скрипт запрещен по максимумты написал, что запрещен opener, а он не нужен.

js вообще что ли запрещен? если да, то асинхронные запросы отпадают принципиально, и я вообще не вижу, в чем проблема. сколько бы окон не было, при протухшей сессии их все можно редиректить на страницу прощания.
...
Рейтинг: 0 / 0
Передача параметров между страницами.
    #38754159
antihacker777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Antonariyantihacker777Так как выше писал, что клиентский скрипт запрещен по максимумты написал, что запрещен opener, а он не нужен.

js вообще что ли запрещен? если да, то асинхронные запросы отпадают принципиально, и я вообще не вижу, в чем проблема. сколько бы окон не было, при протухшей сессии их все можно редиректить на страницу прощания.

3) Яваскрипт через Opener запретили админы. Гвоврят все должно быть серверным. Да и Opener удобно , если передать данные из контрола текущей страницы в контроль целевой страницы. А мне как раз надо передать просто в переменную.


Означает в том числе Opener. Все должно быть серверным.
...
Рейтинг: 0 / 0
Передача параметров между страницами.
    #38754162
antihacker777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И так. Все же пришлось использовать QueryString. Но что бы линокм,где есть параметрыс данными, не злоупотребляли нужно проверить права досутпа.

В голову приходит только так. На линк передаем ID пользователя.

Page_load
{

if (Request.QuryString["UserID"]!=Session["UserID"])
{
Response.Write("Попытка не санкцианированного доступа к данным");
}

}

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


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