Проблема Триггера, Панель Обновления Не Работает?


Я создаю dynamic LinkButton и добавляю триггер щелчка LinkButton в UpdatePanel.

Теперь, когда я впервые нажимаю на любую из кнопок ссылки, триггер работает хорошо и показывает мой выбор whitout POSTBACK. После этого я нажимаю другую кнопку LinkButton все страницы загрузки и обратного запуска, так что триггер не работает! В чем же проблема ? Пожалуйста, Помогите!

protected void Page_Load(object sender, EventArgs e)
{

        ShowAllCar();

}

public void ShowAllCar()
{

    dsAraclarTableAdapters.tblAraclarTableAdapter _t=new dsAraclarTableAdapters.tblAraclarTableAdapter();
    dsAraclar.tblAraclarDataTable _m =_t.GetData();
    int i=0;
    UpdatePanel1.Triggers.Clear();
    pnlAraclar.Controls.Clear();
    foreach (DataRow _row in _m.Rows)
    { 
        LinkButton _linkbutton =new LinkButton();
        i++;
        _linkbutton.ID ="Option" + i.ToString();
        _linkbutton.Text = "<img src='" + _row["Resim"].ToString() + "' border='0'/> <b>" + _row["Marka"].ToString() + " " + _row["Model"].ToString() + "</b><br/>" + _row["Ozellikler"].ToString() + " : " + _row["KisFiyat"].ToString() + ":" + _row["YazFiyat"].ToString();
        _linkbutton.CssClass="ContextMenuItem";
        _linkbutton.PostBackUrl = "";
        _linkbutton.Click +=new EventHandler(OnCarSelect);
        pnlAraclar.Controls.Add(_linkbutton);

        AsyncPostBackTrigger _trigger = new AsyncPostBackTrigger();
        _trigger.ControlID = _linkbutton.ID;
        _trigger.EventName = "Click";
        UpdatePanel1.Triggers.Add(_trigger);
    }
} 

protected void OnCarSelect(object sender, EventArgs e)
{
    lblSelection.Text = "You selected <b>" + ((LinkButton)sender).Text + "</b>.";
}
1 2

1 ответ:

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

PreInit
используйте данное событие для следующее:
...
* Создание или повторное создание динамических элементов управления.
...

ASP.NET обзор жизненного цикла Страницы