WEB开发网
开发学院网页设计JavaScript 编写组件,使用JavaScript更新UpdatePanel 阅读

编写组件,使用JavaScript更新UpdatePanel

 2010-09-14 13:31:00 来源:WEB开发网   
核心提示: 我们使用一个initialized变量来确保Enabled或MethodName属性只能在页面Init时进行修改,由于控件会在多个生命周期中进行操作,编写组件,使用JavaScript更新UpdatePanel(4),如果不做这样的限制,会让控制变得繁琐,并且在这里我们使用LinkButt

我们使用一个initialized变量来确保Enabled或MethodName属性只能在页面Init时进行修改。由于控件会在多个生命周期中进行操作,如果不做这样的限制,会让控制变得繁琐,容易出错。从下面的代码中会发现,我们会在响应页面的InitComplete事件时将initialized变量设为true。

我们在这里实现JavaScript更新UpdatePanel的做法,和传统的方法异曲同工,只是我们这里将动态添加按钮,并且在这里我们使用LinkButton。我们将响应Page对象的Load事件,添加那个作为Trigger的LinkButton。如下:

动态添加LinkButton

private string clientButtonId = null;
protected override void OnInit(EventArgs e)
{
  base.OnInit(e);
  this.Page.InitComplete += new EventHandler(Page_InitComplete);
}
private void Page_InitComplete(object sender, EventArgs e)
{  this.initialized = true;
  if (this.Enabled)
  {
    this.Page.Load += new EventHandler(Page_Load);
    this.Page.PreRenderComplete += new EventHandler(Page_PreRenderComplete);
  }
}
private void Page_Load(object sender, EventArgs e)
{
  LinkButton button = new LinkButton();
  button.Text = "Update";
  button.ID = this.ID + "Button";
  button.Style[HtmlTextWriterStyle.Display] = "none";
  button.Click += new EventHandler(OnTrigger);
  this.Page.Form.Controls.Add(button);
  this.clientButtonId = button.UniqueID;
  ScriptManager.GetCurrent(this.Page).RegisterAsyncPostBackControl(button);
}

上一页  1 2 3 4 5 6 7  下一页

Tags:编写 组件 使用

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接