【问题标题】:Trigger Problem, Update Panel Does Not Work?触发问题,更新面板不起作用?
【发布时间】:2010-03-04 21:38:44
【问题描述】:

我创建动态 LinkBut​​ton 并将 LinkBut​​ton 的 Click Trigger 添加到 UpdatePanel。

现在,当我第一次单击任何一个链接按钮时,触发器运行良好并显示我的选择 whitout POSTBACK。之后,我单击其他 LinkBut​​ton 所有页面加载和 POSTBACK 运行,因此触发器不起作用! 问题是什么 ?请帮忙!

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>.";
}

【问题讨论】:

    标签: asp.net triggers updatepanel


    【解决方案1】:

    您需要在页面生命周期的早期将控件添加回控件树:

    PreInit
    将此事件用于 以下:
    ...
    * 创建或重新创建动态控件。
    ...

    ASP.NET Page Life Cycle Overview

    【讨论】:

      猜你喜欢
      • 2016-10-09
      • 2013-12-28
      • 1970-01-01
      • 1970-01-01
      • 2014-07-30
      • 1970-01-01
      • 2016-10-19
      相关资源
      最近更新 更多