B
Bishoy George
Hi,
I made a page with a button , when I click that button ---> a new TextBox
object is displayed.
I made the following code but the bug is:
Every time I click the button ---> a new TextBox appear but the previous one
DISAPPEARS!!!!
Could you fix it for me, please?
//.aspx page
//-----------------------------------------------------------------
<%@ Page language="c#" Codebehind="Default.aspx.cs" AutoEventWireup="false"
Inherits="DynamicControls._Default" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>Default</title>
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="C#" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5"
name="vs_targetSchema">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<asp:Button id="btnGetTexBox" style="Z-INDEX: 101; LEFT: 16px; POSITION:
absolute; TOP: 16px"
runat="server" Text="Get TextBox!"></asp:Button></form>
</body>
</HTML>
//----------------------------------------------------------------------
// .aspx.cs page
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace DynamicControls
{
/// <summary>
/// Summary description for _Default.
/// </summary>
public class _Default : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Button btnGetTexBox;
private void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsPostBack)
{
Session["turn"] = -1;
}
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.btnGetTexBox.Click += new
System.EventHandler(this.btnGetTexBox_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void btnGetTexBox_Click(object sender, System.EventArgs e)
{
Session["turn"] = (int)Session["turn"] + 1;
int turn = (int)Session["turn"];
TextBox tb = new TextBox();
tb.ID = "txtData" + Session["turn"].ToString();
tb.TextMode = TextBoxMode.MultiLine;
// Height="104px" Width="544px
tb.Height = Unit.Pixel(100);
tb.Width = Unit.Pixel(500);
// Style = "Z-INDEX: 101; LEFT: 16px; POSITION: absolute; TOP: 16px"
int zIndex = 102 + (int)Session["turn"];
tb.Style.Add("Z-INDEX",zIndex.ToString());
tb.Style.Add("LEFT","16px");
tb.Style.Add("POSITION","absolute");
int top = 50 + (turn * 100);
tb.Style.Add("TOP",top.ToString() + "px");
this.Controls[1].Controls.Add(tb);
}
}
}
I made a page with a button , when I click that button ---> a new TextBox
object is displayed.
I made the following code but the bug is:
Every time I click the button ---> a new TextBox appear but the previous one
DISAPPEARS!!!!
Could you fix it for me, please?
//.aspx page
//-----------------------------------------------------------------
<%@ Page language="c#" Codebehind="Default.aspx.cs" AutoEventWireup="false"
Inherits="DynamicControls._Default" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>Default</title>
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="C#" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5"
name="vs_targetSchema">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<asp:Button id="btnGetTexBox" style="Z-INDEX: 101; LEFT: 16px; POSITION:
absolute; TOP: 16px"
runat="server" Text="Get TextBox!"></asp:Button></form>
</body>
</HTML>
//----------------------------------------------------------------------
// .aspx.cs page
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace DynamicControls
{
/// <summary>
/// Summary description for _Default.
/// </summary>
public class _Default : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Button btnGetTexBox;
private void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsPostBack)
{
Session["turn"] = -1;
}
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.btnGetTexBox.Click += new
System.EventHandler(this.btnGetTexBox_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void btnGetTexBox_Click(object sender, System.EventArgs e)
{
Session["turn"] = (int)Session["turn"] + 1;
int turn = (int)Session["turn"];
TextBox tb = new TextBox();
tb.ID = "txtData" + Session["turn"].ToString();
tb.TextMode = TextBoxMode.MultiLine;
// Height="104px" Width="544px
tb.Height = Unit.Pixel(100);
tb.Width = Unit.Pixel(500);
// Style = "Z-INDEX: 101; LEFT: 16px; POSITION: absolute; TOP: 16px"
int zIndex = 102 + (int)Session["turn"];
tb.Style.Add("Z-INDEX",zIndex.ToString());
tb.Style.Add("LEFT","16px");
tb.Style.Add("POSITION","absolute");
int top = 50 + (turn * 100);
tb.Style.Add("TOP",top.ToString() + "px");
this.Controls[1].Controls.Add(tb);
}
}
}