У меня есть .aspx и в нем .ascx. В .ascx у меня есть серверный контроль.Обновление страницы и привязка не работают
.aspx, имеет список элементов в корзине .ascx имеет список некоторых элементов перекрестных продаж (подается от элемента управления пользовательского сервера), что клиент может добавить в корзину при желании
как список предметов в корзине, так и список перекрестных предметов продажи управляются ретранслятором и связаны с загрузкой страницы. Поэтому .aspx вызывает метод, который перегружает элементы корзины при загрузке страницы. И .ascx вызывает метод в своей загрузке страницы, который перегружает элементы перекрестной продажи в этом настраиваемом элементе управления (.cs), который находится в моем .ascx.
Проблема заключается в том, что когда пользователь нажимает кнопку «добавить в корзину» в ретрансляторе внутри моего настраиваемого элемента управления, страница обновляется, и что должно произойти, это элементы корзины в .aspx И список перекрестных продаж должен refrsh показать, что элемент перекрестного продавливания был перемещен в корзину. Но даже несмотря на то, что когда я отлаживаю, и я вижу, что список отскакивает от корвета # элементов после перемещения, страница все еще показывает старое состояние. Я должен обновить страницу вручную, чтобы заставить ее работать.
Наверное, мне нужно проверить страницу.IsPostback? но даже если я не проверю, что ... по крайней мере, оба списка должны быть освежающими, независимо от того, что у меня есть это на моей загрузке страницы. Поэтому, даже если это postback, и я не проверяю, что списки должны показывать новое состояние, потому что я даже не проверяю обратную передачу. Поэтому проверка на postaback я не думаю, что это проблема, потому что я хочу, чтобы списки перегруппировались и повторно обновлялись на любой загрузке страницы. Первоначальная или если это обратная передача ... это не имеет значения. Перезагрузите каждый раз. Но это, похоже, не делает этого, хотя я отчетливо вижу вербальность списков, имеющих правильное количество (один меньше на продажу креста и еще один на корзину, поскольку он был добавлен после того, как пользователь нажал кнопку).
Так что давайте повторим еще раз. Вот последовательность событий:
- Пользователь на своей странице корзины
- Пользователь видит список КОРЗИНА пунктов, которые они добавили к своей корзине уже (этот список связан в Cart.aspx и отскок на каждом page load)
- Пользователь видит список возможных предметов перекрестной продажи, которые они могут добавить в свою корзину где-то на странице. Этот список является настраиваемым элементом управления, найденным в моем .ascx, и что .ascx, очевидно, находится в моем .aspx. Пользовательский контроль является просто ретранслятор, который перечисляет перекрестные предметы продажи
- Пользователь нажимает на одну из кнопок «Добавить в корзину» на одном из крестов продает
- Страница обновляется. В загрузке страницы .aspx И .ascx я выхожу в БД и переплетаю оба этих списка на основе нового состояния ... то есть новые списки после того, как элемент был добавлен в корзину, что означает, что теперь элементы корзины должны иметь еще один добавленный в список, и он ... Я ясно вижу, что в новом списке есть еще один.
- Страница возвращается после обновления, но я не вижу списки, отражающие новое состояние ... Я не вижу новый элемент в списке корзин, а добавленная перекрестная продажа удаляется из списка перекрестных продаж даже хотя снова оба списка, когда я отлаживаю, показывают правильный набор записей, отражающих новое состояние
так что я потерялся здесь, почему это не показывает мне обновленные результаты.
Кнопка «Добавить в корзину» на самом деле просто гиперссылка (не asp.net). При щелчке он перенаправляет со значением в querystring, а страница, обрабатывающая перенаправление, проверяет это значение и выполняет ли какая-либо функциональность, необходимую для перемещения элемента в элементы корзины. – PositiveGuy
В вашей проверке! Page.IsPostBack не помешает ли кто-либо из моих переупорядочивающих вызовов, если это Page_Load? – PositiveGuy
Дело в том, что я хочу, чтобы результат восстановления отображался на что-либо. Загрузка страницы, обратная передача, в любое время, когда страница загружает период, будь то после обратной передачи или нет! – PositiveGuy