触发问题,更新面板不起作用? [英] Trigger Problem, Update Panel Does Not Work?

查看:292
本文介绍了触发问题,更新面板不起作用?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我创建动态LinkBut​​ton的和我想补充的LinkBut​​ton的点击触发到UpdatePanel的。

现在,当我第一次点击链接按钮触发的任何一个乳宁好,显示我的选择whitout回发。那之后,我点击其他LinkBut​​ton的所有页面加载和运行的回传让触发器不起作用!
有什么问题 ?请帮助!

 保护无效的Page_Load(对象发件人,EventArgs的发送)
{        ShowAllCar();}公共无效ShowAllCar()
{    dsAraclarTableAdapters.tblAraclarTableAdapter _t =新dsAraclarTableAdapters.tblAraclarTableAdapter();
    dsAraclar.tblAraclarDataTable _M = _t.GetData();
    INT I = 0;
    UpdatePanel1.Triggers.Clear();
    pnlAraclar.Controls.Clear();
    的foreach(在_m.Rows的DataRow _row)
    {
        LinkBut​​ton的_linkbutton =新的LinkBut​​ton();
        我++;
        _linkbutton.ID =选项+ i.ToString();
        _linkbutton.Text =< IMG SRC ='+ _row [Resim]的ToString()+'。边界=0/>< B>中+ _row [马卡]的ToString()++ _row [模型]的ToString()+< / B>< BR />中+ _row [Ozellikler]的ToString()+:+ _row [KisFiyat]的ToString()+:+ _row [YazFiyat]的ToString();。
        _linkbutton.CssClass =的ContextMenuItem;
        _linkbutton.PostBackUrl =;
        _linkbutton.Click + =新的EventHandler(OnCarSelect);
        pnlAraclar.Controls.Add(_linkbutton);        AsyncPostBackTrigger _trigger =新AsyncPostBackTrigger();
        _trigger.ControlID = _linkbutton.ID;
        _trigger.EventName =点击
        UpdatePanel1.Triggers.Add(_trigger);
    }
}保护无效OnCarSelect(对象发件人,EventArgs的发送)
{
    lblSelection.Text =您选择了< B>中+((LinkBut​​ton的)寄件人)。文本+< / B>;
}


解决方案

您需要添加控件回控制树早些时候页面生命周期:


  

preINIT 结果使用此事件
  以下内容:结果
      ...结果
      *创建或重新创建动态控件。结果
      ...


ASP.NET页生命周期概述

I create dynamic LinkButton and I add LinkButton's Click Trigger to UpdatePanel.

Now, When I first click to any one of link button trigger is runing good and show my select whitout POSTBACK. After That, I click other LinkButton All Page Loading and POSTBACK running so Trigger Does Not Work! What is the problem ? Please Help!

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

解决方案

You need to add the controls back to the control tree earlier in the page life cycle:

PreInit
Use this event for the following:
...
* Create or re-create dynamic controls.
...

ASP.NET Page Life Cycle Overview

这篇关于触发问题,更新面板不起作用?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆