Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Обработчик динамического контрола
|
|||
|---|---|---|---|
|
#18+
Есть web user control, в котором динамически на основе переданной в него коллекции данных генерируются в OnLoad контролы. Среди динамически сгенерированных контролов есть кнопки (linkButton). При клике по динамической linkbutton происходит перезагрузка страницы, далее выполнение обработчика кнопки, в котором меняем коллекцию данных. А далее необходимо перестроить все контролы в соответсвии с новыми данными, но этап на котором строятся контролы уже пройден и отображаемые контролы не соответсявуют данным, на основе которых они построены. При повторной перезагрузке страницы все конечно выстраивается как надо, но так пиходится два раза кликать на кнопку, что не есть хорошо. Как выполнить обработчик кнопки до построения контролов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2006, 18:08 |
|
||
|
Обработчик динамического контрола
|
|||
|---|---|---|---|
|
#18+
>>Как выполнить обработчик кнопки до построения контролов? Что-то мне кажется что лучше просто из правильного места заполнять коллекцию... может код посмотрим? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2006, 18:21 |
|
||
|
Обработчик динамического контрола
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, WSA, Вы писали: >>>Как выполнить обработчик кнопки до построения контролов? WSA>Что-то мне кажется что лучше просто из правильного места заполнять коллекцию... может код посмотрим? Сорри, сразу не залогинился и сообщение оставил от "анонима". Вот код: public partial class MyUserControl : System.Web.UI.UserControl { private Collection<MyItem> _Collection; public Collection<MyItem> DataSoucre { get { return _Collection; } set { _Collection = value; } } private void CreateControls() { TextBox txt; LinkButton bt; Table table = new Table(); TableRow row; TableCell cell; table.ID = "ItemsTable"; phItems.Controls.Clear(); for (int i = 0; i < _Collection.Count; i++) { row = new TableRow(); row.ID = "tr" + i.ToString(); cell = new TableCell(); cell.ID = "tc0" + i.ToString(); cell.Attributes.Add("align=", "center"); txt = new TextBox(); txt.ID = _Collection[i].ItemType + i.ToString(); cell.Controls.Add(txt); row.Cells.Add(cell); bt = new LinkButton(); bt.Attributes.Add("runat", "server"); bt.Text = "remove"; bt.CommandArgument = i.ToString(); bt.Click += new EventHandler(this.RemoveItem); cell = new TableCell(); cell.ID = "tc1" + i.ToString(); cell.Controls.Add(bt); row.Cells.Add(cell); table.Rows.Add(row); } phItems.Controls.Add(table); } protected void Page_Load(object sender, EventArgs e) { if (HiddenField.Value != "") { _Collection = (Collection<MyItem>)DeSerialize(HiddenField.Value, typeof(Collection<MyItem>)); if (IsPostBack) CreateControls(); } } private void RemoveItem(Object sender, EventArgs e) { int index = int.Parse((sender as LinkButton).CommandArgument); _Collection.RemoveAt(index); HiddenField.Value = Serialize(_Paragraphs); } } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2006, 18:41 |
|
||
|
|

start [/forum/topic.php?fid=18&gotonew=1&tid=1390153]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
11ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 253ms |
| total: | 391ms |

| 0 / 0 |
