как я могу получить два пользовательских элемента управления asp.net, чтобы общаться друг с другом? - PullRequest
2 голосов
/ 04 мая 2011

У меня есть два пользовательских элемента управления на веб-странице .net, и я хочу иметь возможность щелкнуть один элемент управления, чтобы обновить данные в другом.

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

Ответы [ 4 ]

1 голос
/ 04 мая 2011

Будет ли разработчик страницы, на которой будут размещаться элементы управления, интегрировать их в страницу и иметь доступ к коду?Если это так, пусть один виджет вызывает событие, когда что-то происходит, а другой может подписаться на событие и ответить.Это произошло бы в CodeBehind, так что это будет включать в себя обратные передачи.

Если вы не хотите запрашивать постбэки, вам придется использовать Javascript.Но нет никаких причин, по которым пользовательский UserControl не может иметь встроенный Javascript, как любой обычный HTML.Вы также можете сделать это из CodeBehind, используя Page.RegisterClientScript или несколько его вариантов.

0 голосов
/ 04 мая 2011

Вы можете настроить его так: когда вы нажимаете на первый элемент управления и он отправляет обратно, вы циклически просматриваете коллекцию Controls, чтобы найти элемент управления, который хотите обновить, и затем делаете с ним все, что вам нужно.Хотя, если вы хотите сделать это без публикации, вам придется использовать решение JavaScript.

0 голосов
/ 04 мая 2011

Возможно ли добавить эти элементы управления на страницу несколько раз? Будет ли нажатие на один элемент управления вызывать обратную передачу?

Моей первой мыслью был JavaScript (вы могли бы встроить необходимые функции JS в сам элемент управления), но это усложнилось бы, если бы вы могли иметь несколько экземпляров элементов управления на странице.

Другой подход - объединить оба элемента управления в составной элемент управления. Тогда вы сможете полностью контролировать взаимодействие между ними, потому что в этот момент это будет только один элемент управления.

0 голосов
/ 04 мая 2011

Если вы можете изменить свою архитектуру, чтобы использовать элементы управления веб-частями вместо пользовательских элементов управления, это может быть достигнуто легко. Посмотрите на этот пост MSDN о Соединениях веб-частей .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...