2010-06-03 2 views
0

У меня есть два пользовательских элемента управления на одной странице aspx. UC1 имеет сетку, которая содержит столбец кнопки ссылки, который пользователь нажимает. Основываясь на ценности щелкнутой ячейки, мне нужно показать некоторые данные в UC2.Передача параметра из одного пользовательского элемента управления в другой пользовательский элемент управления на странице aspx

  1. Как передать данные из UC1 в UC2?
  2. Как вызвать функцию UC2 из UC1?

Просьба сообщить. Благодаря

AJ

ответ

0
  1. Вы можете задать значения UC2 в постбэка для UC1.
  2. Вы можете вызывать функции на UC2 в обратной передаче для UC1.

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

.aspx страница

<uc:MyControlOne runat="server" OnClick="DoPostBack" ID="UC1" /> 
<uc:MyControlTwo runat="server" ID="UC2" /> 

.aspx.cs страница

public void DoPostBack(object sender, EventArgs e) 
{ 
    UC2.Value = UC1.Value; 
    UC2.UpdateSomething(); 
} 
1

Если вы будете следовать принципам хорошего OO затем UC1 и UC2 не должны знать друг о друге. Хорошо, что содержащая страница знает о функциях своих дочерних элементов управления и помогает маршрутизировать сообщения/события/данные от одного к другому.

Это означает, что UC1 может поднять событие, и соответствующие данные (например, идентификатор строки или фактический элемент привязки данных) могут передаваться в событиях события события. Затем содержащая страница может вызывать функцию на UC2, передавая часть информации, которая была передана из UC1.

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

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