2010-01-09 2 views
5

Я добавляю элементы управления вводами HTML на странице динамически с помощью кнопки «добавить текстовое поле», но после отправки сообщения в конце концов они смываются. Есть ли легкая и эффективная практика, которая может помочь мне сохранить элементы управления и их значения после отправки страницы назад.Сохраняйте программно созданные элементы управления html после обратной передачи

Спасибо.

Edit:

  • Я использую Javascript для создания динамических элементов управления на странице
  • Я не дело с загрузкой файлов, просто созданием пользовательских полех вещей.

Думаю, мне нужно переопределить события SaveViewState и LoadViewState, чтобы сохранить элементы управления в ViewState.

+0

ли вы, добавить элементы управления вводами с помощью javascript или C#? –

+0

@Madi: Я использую Javascript для добавления элементов управления на странице. – Tarik

ответ

2

См следующее:
http://urenjoy.blogspot.com/2009/02/add-dynamic-buttons-and-handle-click.html
Вам нужно переопределить SaveViewState и LoadViewState методу сохранения после обратной передачи, см следующего образца
http://urenjoy.blogspot.com/2009/03/create-dynamic-dropdownlists-in-aspnet.html
и Для получения значения смотрите следующий пример:
http://urenjoy.blogspot.com/2009/02/retrieve-value-of-dynamic-controls-in.html

+0

Спасибо за рекомендации, я проверю их сейчас. Надеюсь, я найду ответ. – Tarik

0

, так как вы получите их на почте назад, не могли бы вы их воссоздать динамически на стороне сервера?

+0

Это то, о чем я думал, но так как это довольно распространенная техника, я подумал, что может быть другой и лучший способ сделать это. – Tarik

+0

Коллекции управления для страниц моей компании почти полностью встроены в код, потому что мы должны поддерживать определяемые пользователем макеты. Я думаю, что идея Габи будет работать нормально, но вы можете столкнуться с некоторыми конфликтами с динамически добавленными элементами управления и представлением. Независимо от того, будете ли вы испытывать эту проблему, будет зависеть от того, как ваша страница будет использоваться. –

+1

Тогда структура MVC будет работать для вашей компании лучше, чем веб-формы. – Tarik

0

Если элементы управления отличаются от постбэка к postbck в зависимости от того, что пользователь вводит, то вы можете попробовать хранить HTML ито отдельный класс, где вы будете иметь статические свойства, как public static string WriteHTMLSubmit = ""

Если нет, то трудно кодировать их в коде позади, это будет практика ... if(page.isPostBack){<write contrls>}

2

Сохраните эту страницу! Используйте ajax для публикации данных и загрузчика Flash, если вы имеете дело с загрузкой файлов. Затем страница никогда не обновляется, и есть намного меньше кода для повторного создания динамически созданных элементов управления.

+0

Я думал, что это одно и то же, но страница огромна, поэтому я не думаю, что это была бы хорошая практика с использованием Ajax. Их слишком много данных, отправленных обратно на сервер. И на самом деле я не занимаюсь загрузками, то, что я делаю, это создание настраиваемых полей и отправка значений в данные вместе с другими значениями. – Tarik

Смежные вопросы