I want to show Components in a tabs , so first of all create few components. In this project we have three components, First View Component public class AllViewComponent : ViewComponent { private readonly UserManager<ApplicationUser> _userManager; public AllViewComponent(UserManager<ApplicationUser> userManager) { _userManager = userManager; } public async Task<IViewComponentResult> InvokeAsync() { List<StudentViewModel> allUsers = new List<StudentViewModel>(); var items = await _userManager.Users.ToListAsync(); foreach (var item in items) { allUsers.Add(new StudentViewModel {Id=item.Id, EnrollmentNo = item.EnrollmentNo, FatherName = item.FatherName, Name = item.Name, Age = item.Age, Birthdate = item.Birthdate, Address = item.Address, Gender = item.Gender, Email = item.Email }); }
Introduction
In this article, I will show you how to add multiple TextBox by using button click. When we press the button then add TextBox in the panel. Similarly again when we press the button then again TextBox add just after previous one. I will give you an example of add multiple TextBox dynamically in ASP.NET.
Source code
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
Code Behind page
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class DynamicallyAdd : System.Web.UI.Page
{
Panel panelforTextBox;
protected void Page_Load(object sender, EventArgs e)
{
Literal literal;
Label labelTextBox;
panelforTextBox = new Panel();
panelforTextBox.ID = "panelforTextBox";
panelforTextBox.BorderWidth = 2;
panelforTextBox.Width = 400;
this.form1.Controls.Add(panelforTextBox);
literal = new Literal();
literal.Text = "<br/>";
this.form1.Controls.Add(literal);
labelTextBox = new Label();
labelTextBox.Text = "Dynamic TextBox <br/>";
panelforTextBox.Controls.Add(labelTextBox);
Button addbutton = new Button();
addbutton.ID = "addbutton";
addbutton.Text = "Add New TextBox";
addbutton.Click += new System.EventHandler(clicktoaddTextBox);
this.form1.Controls.Add(addbutton);
if (IsPostBack)
{
controlcreate("DynamicText", "TextBox");
}
}
private void controlcreate(string p1, string p2)
{
string[] controls = Request.Form.ToString().Split('&');
int count = findcontrolcount(p1);
if(count>0)
{
Literal lit;
for (int k = 0; k <=count; k++)
{
for (int i = 0; i < controls.Length; i++)
{
if (controls[i].Contains(p1+"-"+k.ToString()))
{
string controlname = controls[i].Split('=')[0];
string controlvalue = controls[i].Split('=')[1];
controlvalue = Server.UrlDecode(controlvalue);
if(p2=="TextBox")
{
TextBox txt = new TextBox();
txt.ID = controlname;
txt.Text = controlvalue;
panelforTextBox.Controls.Add(txt);
lit = new Literal();
lit.Text = "<br/>";
panelforTextBox.Controls.Add(lit);
}
break;
}
}
}
}
}
private void clicktoaddTextBox(object sender, EventArgs e)
{
//throw new NotImplementedException();
Button button = (Button)sender;
if (button.ID=="addbutton")
{
int count = findcontrolcount("DynamicText");
TextBox text = new TextBox();
text.ID = "DynamicText-" + Convert.ToString(count + 1);
panelforTextBox.Controls.Add(text);
Literal lit = new Literal();
lit.Text = "<br/>";
panelforTextBox.Controls.Add(lit);
}
}
private int findcontrolcount(string p)
{
//throw new NotImplementedException();
string str = Request.Form.ToString();
return ((str.Length - str.Replace(p, "").Length) / p.Length);
}
}
In this article, I will show you how to add multiple TextBox by using button click. When we press the button then add TextBox in the panel. Similarly again when we press the button then again TextBox add just after previous one. I will give you an example of add multiple TextBox dynamically in ASP.NET.
Source code
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
Code Behind page
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class DynamicallyAdd : System.Web.UI.Page
{
Panel panelforTextBox;
protected void Page_Load(object sender, EventArgs e)
{
Literal literal;
Label labelTextBox;
panelforTextBox = new Panel();
panelforTextBox.ID = "panelforTextBox";
panelforTextBox.BorderWidth = 2;
panelforTextBox.Width = 400;
this.form1.Controls.Add(panelforTextBox);
literal = new Literal();
literal.Text = "<br/>";
this.form1.Controls.Add(literal);
labelTextBox = new Label();
labelTextBox.Text = "Dynamic TextBox <br/>";
panelforTextBox.Controls.Add(labelTextBox);
Button addbutton = new Button();
addbutton.ID = "addbutton";
addbutton.Text = "Add New TextBox";
addbutton.Click += new System.EventHandler(clicktoaddTextBox);
this.form1.Controls.Add(addbutton);
if (IsPostBack)
{
controlcreate("DynamicText", "TextBox");
}
}
private void controlcreate(string p1, string p2)
{
string[] controls = Request.Form.ToString().Split('&');
int count = findcontrolcount(p1);
if(count>0)
{
Literal lit;
for (int k = 0; k <=count; k++)
{
for (int i = 0; i < controls.Length; i++)
{
if (controls[i].Contains(p1+"-"+k.ToString()))
{
string controlname = controls[i].Split('=')[0];
string controlvalue = controls[i].Split('=')[1];
controlvalue = Server.UrlDecode(controlvalue);
if(p2=="TextBox")
{
TextBox txt = new TextBox();
txt.ID = controlname;
txt.Text = controlvalue;
panelforTextBox.Controls.Add(txt);
lit = new Literal();
lit.Text = "<br/>";
panelforTextBox.Controls.Add(lit);
}
break;
}
}
}
}
}
private void clicktoaddTextBox(object sender, EventArgs e)
{
//throw new NotImplementedException();
Button button = (Button)sender;
if (button.ID=="addbutton")
{
int count = findcontrolcount("DynamicText");
TextBox text = new TextBox();
text.ID = "DynamicText-" + Convert.ToString(count + 1);
panelforTextBox.Controls.Add(text);
Literal lit = new Literal();
lit.Text = "<br/>";
panelforTextBox.Controls.Add(lit);
}
}
private int findcontrolcount(string p)
{
//throw new NotImplementedException();
string str = Request.Form.ToString();
return ((str.Length - str.Replace(p, "").Length) / p.Length);
}
}
Comments
Post a Comment