powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Обработчик динамического контрола
3 сообщений из 3, страница 1 из 1
Обработчик динамического контрола
    #33947774
Аноним
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть web user control, в котором динамически на основе переданной в него коллекции данных генерируются в OnLoad контролы.
Среди динамически сгенерированных контролов есть кнопки (linkButton).
При клике по динамической linkbutton происходит перезагрузка страницы, далее выполнение обработчика кнопки, в котором
меняем коллекцию данных. А далее необходимо перестроить все контролы в соответсвии с новыми данными, но этап на котором
строятся контролы уже пройден и отображаемые контролы не соответсявуют данным, на основе которых они построены.
При повторной перезагрузке страницы все конечно выстраивается как надо, но так пиходится два раза кликать на кнопку, что не есть хорошо.

Как выполнить обработчик кнопки до построения контролов?
...
Рейтинг: 0 / 0
Обработчик динамического контрола
    #33947800
WSA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WSA
Гость
>>Как выполнить обработчик кнопки до построения контролов?
Что-то мне кажется что лучше просто из правильного места заполнять коллекцию... может код посмотрим?
...
Рейтинг: 0 / 0
Обработчик динамического контрола
    #33947864
ePilgrim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, 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);

    }    
    
}
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Обработчик динамического контрола
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]