Bojjaiah Ответов: 4

Должен ли я использовать сеансы или строку запроса?


Я работаю над этим Asp.net с проектом c#. Здесь у меня есть требование, открыть одно и то же окно с несколькими страницами с несколькими сеансами.

Пример:

1) MainPage.aspx, который является родительским окном. Которые имеют несколько заказов.

2) ChildPage.aspx, который является дочерним окном

Клиент может открывать разные машины, выбирая разные заказы. Поэтому всегда открывайте ChildPage.aspxpage с разными данными(значениями порядка).

Итак, для этих требований какой метод я должен использовать и почему?

Что я уже пробовал:

Я попробовал использовать сеансы, которые у меня не работают.

F-ES Sitecore

Я не совсем понимаю этот вопрос, но вы не можете контролировать управление сеансами из своего кода, поэтому вы не можете заставить их использовать несколько сеансов или даже один и тот же сеанс...все это зависит от того, как браузер пользователя обрабатывает файлы cookie.

Так что если сеансы не работают, то используйте querystrings, это не проблема. Единственное, что нужно иметь в виду, если пользователь может манипулировать строкой запроса, поэтому, если это конфиденциальные данные, убедитесь, что человек, запрашивающий эти данные, имеет право их видеть.

Bojjaiah

Клиент может открыть страницу ChildPage.aspx после выбора любой из записей. Опять клиент может открыть ChildPage.aspx-страницы, выбрав очередную запись из файла MainPage.aspx-файл. Здесь ChildPage.aspx-это несколько окон для каждого запроса. В этом случае сеанс не будет работать, верно? Итак, как мы можем справиться в этой ситуации?

4 Ответов

Рейтинг:
2

Great-ys

Вы используете состояние сеанса или просмотра

Для использования состояния просмотра:
Понимание ASP.NET состояние просмотра[^] по этой ссылке следуйте
Состояние отображения использовать только в одном разделе

Для использования в сеансе:
ASP.NET общие сведения о состоянии сеанса[^]
сеанс используется на стороне сервера и на стороне клиента


Рейтинг:
1

Gerry Schmitz

Используйте просмотр состояний / скрытых полей.

ASP.NET просмотр обзора состояния[^]


Рейтинг:
1

Ziee-M

Привет,

Даже если вы можете достичь своей цели тем или иным способом, вот что и как, по моему мнению, вы должны использовать сеансы и строки запросов.

1/ строки запросов
-Я всегда использую queryString для перенаправления на страницы сведений.
В вашем случае childWindow.aspx?id=5.
Пока данные, которые вы передаете, не важны (нет пароля и других критических данных)
=> Вот почему у вас должен быть столбец id в таблицах базы данных, чтобы вы могли получать свои данные с вашими уникальными идентификаторами.
2/сессия:
Сеанс может сделать код очень трудным для хранения, поэтому лучше избегать их и использовать только тогда, когда это необходимо.
3/просмотр состояний
Состояния представления-это в основном сеансы, но не на всех уровнях приложения, а на уровне страницы.
Они очень полезны в обратных передач.
Вот вам пример :

private MyClass ClassObject
        {
            get { return ViewState["myClassObj"] as MyClass ; }
            set { ViewState["myClassObj"] = value; }
        }

Вы можете представить себе это как init, когда выполняется post back, вы всегда можете получить доступ к своему ClassObject, потому что мы его сохранили.

PS : обратите внимание, с помощью этого метода любой пользователь может изменить значение в url-адресе и получить доступ к данным, на которые он не имеет права, так что :
-Вы должны внедрить систему управления ролями, чтобы избежать этого.
-Вероятно, разумно зашифровать/расшифровать ваши строки запросов.

Надеюсь, это поможет.


Рейтинг:
0

Great-ys

Вы используете состояние сеанса или просмотра

Больше подходит для вашего вопроса в использовании для просмотра состояния.

Для использования состояния просмотра:
Понимание ASP.NET состояние просмотра[^] по этой ссылке следуйте
Состояние отображения использовать только в одном разделе

Для использования в сеансе:
ASP.NET общие сведения о состоянии сеанса[^]
сеанс используется на стороне сервера и на стороне клиента