본문 바로가기

.NET/ASP.NET AJAX

프로그래밍적으로 UpdatePanel 구성하기

반응형

 

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page 
{
    private TextBox txtName;
    private Label lblDisplay;

    protected void Page_Init(object sender, EventArgs e)
    {
        //동적으로 ScriptManager 추가
        ScriptManager sm = new ScriptManager();
        this.Form.Controls.Add(sm);

        //동적으로 ScriptManager 의 비동기 기능 끄기
        ScriptManager.GetCurrent(Page).EnablePartialRendering = false;
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        //동적으로 업데이트 페널 만들기
        UpdatePanel up = new UpdatePanel();
        up.ID = "up1";

        Literal br = new Literal();
        br.Text = "

"; txtName = new TextBox(); lblDisplay = new Label(); Button btn = new Button(); btn.Text = "전송"; btn.Click += new EventHandler(btn_Click); //반드시 CotentTemplateContainer.Controls.Add() 로 추가해줘야 한다. up.ContentTemplateContainer.Controls.Add(txtName); up.ContentTemplateContainer.Controls.Add(btn); up.ContentTemplateContainer.Controls.Add(br); up.ContentTemplateContainer.Controls.Add(lblDisplay); //마지막 페이지에 생성한 업데이트패널 추가 this.Form.Controls.Add(up); } void btn_Click(object sender, EventArgs e) { lblDisplay.Text = "Hi. " + txtName.Text; } }