powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как передать обьект в другую форму параметром
9 сообщений из 9, страница 1 из 1
Как передать обьект в другую форму параметром
    #37570312
asp_111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что-то не могу найти как можно передавать сложные (не строковые) параметры в другую форму.
Скажем есть на форме кнопка, по которой я вызываю другую форму:

Код: c#
1.
2.
3.
4.
5.
protected void Button1_Click(object sender, EventArgs e)
        {
            Customer cust = new Customer("John", "Smith");
            Response.Redirect("WebForm1.aspx");
        }



и нужно передать туда параметр Customer, как это сделать не прибегая к Session?
...
Рейтинг: 0 / 0
Как передать обьект в другую форму параметром
    #37570328
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Сериализовать объект и передать в url
2. Page.PreviousPage
3. Cookies
4. Profile
5. БД (отдельная табличка)
6. Application
7. Cache
...
Рейтинг: 0 / 0
Как передать обьект в другую форму параметром
    #37570389
Starlex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Думаю, реальная практика - это через базу или сессию. Остальные сильно экзотические способы.
...
Рейтинг: 0 / 0
Как передать обьект в другую форму параметром
    #37570462
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StarlexДумаю, реальная практика - это через базу или сессию. Остальные сильно экзотические способы.
Через сессию - зло. Не вижу никакой экзотики в сериализации класса в json и передачей его в url. Для красоты можно его base64 обернуть.
...
Рейтинг: 0 / 0
Как передать обьект в другую форму параметром
    #37570514
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asp_111
Код: c#
1.
2.
3.
4.
5.
protected void Button1_Click(object sender, EventArgs e)
        {
            Customer cust = new Customer("John", "Smith");
            Response.Redirect("WebForm1.aspx");
        }

В данном конкретном случае я бы эту кнопку вообще заменил на что-то типа <a href="WebForm1.aspx?firstname=John&lastname=Smith">John Smith</a>
...
Рейтинг: 0 / 0
Как передать обьект в другую форму параметром
    #37572240
asp_111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МСУStarlexДумаю, реальная практика - это через базу или сессию. Остальные сильно экзотические способы.
Через сессию - зло. Не вижу никакой экзотики в сериализации класса в json и передачей его в url. Для красоты можно его base64 обернуть.

там вроде есть какие-то жесткие ограничения на размер того, что можно передавать в строке. Если-же обьект сравнительно большой, то может не поместиться. Кроме того его еще и вручную сериализовать надо будет, у сессии сериализатор встроен.
А вот появился вопрос по-поводу использования кэша для этой цели: как у него обстоят дела если исползуется web farm, т.е. нагрузка распаллелена между серверами. У сессии на этой случай можно использовать StateServer mode или SQLServer mode, при передаче запроса другому серверу из фермы значение кэша все равно можно будет извлечь? Или оно потерятся как и при использовании InProc mode в сессии?
...
Рейтинг: 0 / 0
Как передать обьект в другую форму параметром
    #37572461
Starlex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asp_111у сессии сериализатор встроен.


Нет там никакого сериализатора. Например, сделайте список значений List<int>, присвойте его переменной, поместите в сессию. Потом измените одно из значений в переменной. И посмотрите, что теперь в сессии.
...
Рейтинг: 0 / 0
Как передать обьект в другую форму параметром
    #37572530
Random_Goodman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StarlexНет там никакого сериализатора. Например, сделайте список значений List<int>, присвойте его переменной, поместите в сессию. Потом измените одно из значений в переменной. И посмотрите, что теперь в сессии.
И чо?
Сериализация
...
Рейтинг: 0 / 0
Как передать обьект в другую форму параметром
    #37572649
Starlex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Random_GoodmanStarlexНет там никакого сериализатора. Например, сделайте список значений List<int>, присвойте его переменной, поместите в сессию. Потом измените одно из значений в переменной. И посмотрите, что теперь в сессии.
И чо?
Сериализация

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


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