Hi, have written code for Creating Dropdown list , textbox and lable controls dynamically , now i want to re-create dropdownlist with selection of dropdownlist value, means when user select the multipule dropdown list than the values of selected dropdown adding and assign as count variable . Than again re-create the all control dropdownlist , textbox lable equal to count variable . the same process continue when ever user want and end last all controls value save into the database.
I have tried to write the code like this but i face issue is post-back, any one help is appreciated..!
am sharing my code :- Plz help me.
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Fibre.aspx.cs" Inherits="Olt" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title></title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
</head>
<body>
<form id="form1" runat="server">
<header>
<img alt="logo" src="image/logo.png" /><img id="niclogo" alt="niclogo" src="image/nic.png" />
</header>
<div class="navbar">
<div class="dropdown">
<button class="dropbtn">
Configuration Forms <i class="fa fa-caret-down"></i>
</button>
<div class="dropdown-content">
<a href="Olt.aspx">OLT</a> <a href="Fibre.aspx">Fibre</a> <a href="Ont.aspx">ONT</a>
</div>
</div>
<div class="dropdown">
<button class="dropbtn">
List of Details <i class="fa fa-caret-down"></i>
</button>
<div class="dropdown-content">
<a href="Olt_Ont.aspx">OLT & ONT</a> <a href="Asset.aspx">Asset</a>
</div>
</div>
<a href="View.aspx">View</a>
</div>
<h3>
</h3>
<p>
</p>
<div id="maincontainer">
<center>
<asp:Label ID="Label1" runat="server" Text="FIBRE FORM" ForeColor="Red" Font-Bold="True"
Font-Size="Large" Font-Underline="True"></asp:Label></center>
<div id="left_div" style="overflow: auto;">
<div id="configr_pon" style="overflow: auto">
<center>
</center>
<br />
<table align="center" class="auto-style1">
<tr>
<th>
Pic No<font style="color: red">*</font>
</th>
<th>
Port <font style="color: red">*</font>
</th>
<th>
Next Node Name<font style="color: red">*</font>
</th>
<th>
Pon No
</th>
<th>
Next Node Type<font style="color: red">*</font>
</th>
<th>
Segment Name <font style="color: red">*</font>
</th>
<th>
Distance(M)<font style="color: red">*</font>
</th>
<th>
Loss(dB)
</th>
<th>
Owner<font style="color: red">*</font>
</th>
<th>
Cable Name
</th>
<th>
Cable Cpacity
</th>
<th>
Fibre No <font style="color: red">*</font>
</th>
<th>
Leased/ Spare Fibre
</th>
</tr>
<tr>
<td>
<asp:DropDownList ID="pic_list" runat="server" OnSelectedIndexChanged="pic_list_SelectedIndexChanged"
AutoPostBack="true">
<asp:ListItem>1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
<asp:ListItem>3</asp:ListItem>
<asp:ListItem>4</asp:ListItem>
<asp:ListItem>5</asp:ListItem>
<asp:ListItem>6</asp:ListItem>
<asp:ListItem>7</asp:ListItem>
<asp:ListItem>8</asp:ListItem>
<asp:ListItem>9</asp:ListItem>
<asp:ListItem>10</asp:ListItem>
<asp:ListItem>11</asp:ListItem>
<asp:ListItem>12</asp:ListItem>
</asp:DropDownList>
</td>
<td>
<asp:DropDownList ID="port_list" runat="server" OnSelectedIndexChanged="port_list_SelectedIndexChanged"
AutoPostBack="true">
<asp:ListItem>1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
<asp:ListItem>3</asp:ListItem>
<asp:ListItem>4</asp:ListItem>
<asp:ListItem>5</asp:ListItem>
<asp:ListItem>6</asp:ListItem>
<asp:ListItem>7</asp:ListItem>
<asp:ListItem>8</asp:ListItem>
</asp:DropDownList>
</td>
<td>
<asp:TextBox ID="nxt_nod_nam" runat="server" OnTextChanged="nxt_nod_nam_TextChanged"></asp:TextBox>
</td>
<td>
<asp:Label ID="pon_no" runat="server" Text="" Font-Size="Medium" Font-Bold="True"
ForeColor="#000099"></asp:Label>
</td>
<td>
<asp:DropDownList ID="node_type_list" runat="server" OnSelectedIndexChanged="node_type_list_SelectedIndexChanged">
<asp:ListItem Value="Select">Select</asp:ListItem>
<asp:ListItem Value="2">Splitter 1:2</asp:ListItem>
<asp:ListItem Value="4">Splitter 1:4</asp:ListItem>
<asp:ListItem Value="8">Splitter 1:8</asp:ListItem>
<asp:ListItem Value="1">Joint</asp:ListItem>
<asp:ListItem Value="0">ONT</asp:ListItem>
</asp:DropDownList>
</td>
<td>
<asp:TextBox ID="seg_nam" runat="server"></asp:TextBox>
</td>
<td>
<asp:TextBox ID="dist" runat="server"></asp:TextBox>
</td>
<td>
<asp:TextBox ID="loss" runat="server"></asp:TextBox>
</td>
<td>
<asp:DropDownList ID="owner_list" runat="server">
<asp:ListItem>BBNL</asp:ListItem>
<asp:ListItem>BSNL</asp:ListItem>
<asp:ListItem>PGCIL</asp:ListItem>
<asp:ListItem>RAILTEL</asp:ListItem>
</asp:DropDownList>
</td>
<td>
<asp:TextBox ID="cab_nam" runat="server"></asp:TextBox>
</td>
<td>
<asp:TextBox ID="cab_cpcty" runat="server"></asp:TextBox>
</td>
<td>
<asp:TextBox ID="fibr_no" runat="server"></asp:TextBox>
</td>
<td>
<asp:TextBox ID="leasd_no" runat="server"></asp:TextBox>
</td>
</tr>
</table>
<center>
<asp:Button ID="Sumbit" runat="server" Text="Process" AutoPostBack="false" BackColor="#1A91D2"
Font-Bold="True" ForeColor="White" Height="33px" OnClick="Sumbit_Click" Width="104px" />
<br />
</center>
<div id="Div1" runat="server" visible="true" style="overflow: auto;">
</div>
</div>
<br />
<br />
</div>
<footer>
<p class="best"> Best View in 1024x768</p>
<p class="copy"> Copyrights © 2018. All Rights Reserved</p>
</footer>
</form>
</body>
</html>
private void generatkey()
{
int pic = int.Parse(pic_list.Text);
int port = int.Parse(port_list.Text);
int count_pon = pic * 8 - 8 + port;
pon_no.Text = count_pon.ToString();
}
protected void nxt_nod_nam_TextChanged(object sender, EventArgs e)
{
}
protected void port_list_SelectedIndexChanged(object sender, EventArgs e)
{
generatkey();
}
protected void pic_list_SelectedIndexChanged(object sender, EventArgs e)
{
generatkey();
}
int count, couts, adddrop = 0;
protected void node_type_list_SelectedIndexChanged(object sender, EventArgs e)
{
}
protected void Sumbit_Click(object sender, EventArgs e)
{
int index = Convert.ToInt32(node_type_list.SelectedValue);
for (int i = 0; i < index; i++)
{
//var tables = new Table();
//var heads = new TableHeaderRow();
// var heads = new TableHeaderRow();
var tables = new Table();
var heads = new TableHeaderRow();
var rows = new TableRow();
var cells = new TableCell();
var headcel = new TableHeaderCell();
headcel.Text = "Node";
heads.Cells.Add(headcel);
TextBox tx1 = new TextBox();
tx1.ID = "node" + i;
//tx1.Text = tb1.Text;
cells.Controls.Add(tx1);
var cells1 = new TableCell();
var headcel1 = new TableHeaderCell();
headcel1.Text = "Splitter PortNo/JointNo";
heads.Cells.Add(headcel1);
TextBox tx2 = new TextBox();
tx2.ID = "splitter_no" + i;
cells1.Controls.Add(tx2);
var cells2 = new TableCell();
var headcel2 = new TableHeaderCell();
headcel2.Text = "Next Node Name *";
heads.Cells.Add(headcel2);
TextBox tx3 = new TextBox();
tx3.ID = "Nxt_nod_nam" + i;
RequiredFieldValidator rfvs = new RequiredFieldValidator();
rfvs.ErrorMessage = "Please Enter Next Node Name..!" + "<br>";
rfvs.BorderColor = Color.Red;
rfvs.ControlToValidate = "Nxt_nod_nam" + i;
cells2.Controls.Add(tx3);
var cells3 = new TableCell();
var headcel3 = new TableHeaderCell();
headcel3.Text = "Next NodeType *";
heads.Cells.Add(headcel3);
DropDownList drop1 = new DropDownList();
drop1.ID = "nxt_nod_typ" + i;
drop1.Items.Add(new ListItem("Select Splitter", "0"));
drop1.Items.Add(new ListItem("Splitter1:2", "2"));
drop1.Items.Add(new ListItem("Splitter1:5", "5"));
drop1.Items.Add(new ListItem("Splitter1:8", "8"));
drop1.Items.Add(new ListItem("Joint", "1"));
drop1.Items.Add(new ListItem("ONT", "0"));
drop1.AutoPostBack = true;
drop1.SelectedIndexChanged += new EventHandler(dro_SelectedIndexChanged);
// values.Add(drop1.SelectedItem.Text);
cells3.Controls.Add(drop1);
var cells4 = new TableCell();
var headcel4 = new TableHeaderCell();
headcel4.Text = "Segment Name *";
heads.Cells.Add(headcel4);
TextBox tx4 = new TextBox();
tx4.ID = "sgmnt_nam" + i;
RequiredFieldValidator rfvs1 = new RequiredFieldValidator();
rfvs1.ErrorMessage = "Please Enter Segment Name..!" + "<br>";
rfvs1.BorderColor = Color.Red;
rfvs1.ControlToValidate = "sgmnt_nam" + i;
cells4.Controls.Add(tx4);
var cells5 = new TableCell();
var headcel5 = new TableHeaderCell();
headcel5.Text = "Distance (m) *";
heads.Cells.Add(headcel5);
TextBox tx5 = new TextBox();
tx5.ID = "distnc" + i;
RequiredFieldValidator rfvs2 = new RequiredFieldValidator();
rfvs2.ErrorMessage = "Please Enter Distance..!" + "<br>";
rfvs2.BorderColor = Color.Red;
rfvs2.ControlToValidate = "distnc" + i;
cells5.Controls.Add(tx5);
var cells6 = new TableCell();
var headcel6 = new TableHeaderCell();
headcel6.Text = "Loss(DB)";
heads.Cells.Add(headcel6);
TextBox tx6 = new TextBox();
tx6.ID = "loss" + i;
cells6.Controls.Add(tx6);
var cells7 = new TableCell();
var headcel7 = new TableHeaderCell();
headcel7.Text = "Owner*";
heads.Cells.Add(headcel7);
DropDownList drop2 = new DropDownList();
drop2.ID = "ownr" + i;
drop2.Items.Add(new ListItem("BBNL", "BB"));
drop2.Items.Add(new ListItem("BSNL", "BS"));
drop2.Items.Add(new ListItem("PGCIL", "PG"));
drop2.Items.Add(new ListItem("RAIL TEL", "RAL"));
cells7.Controls.Add(drop2);
var cells8 = new TableCell();
var headcel8 = new TableHeaderCell();
headcel8.Text = "Cable Name";
heads.Cells.Add(headcel8);
TextBox tx7 = new TextBox();
tx7.ID = "cabl_nam" + i;
cells8.Controls.Add(tx7);
var cells9 = new TableCell();
var headcel9 = new TableHeaderCell();
headcel9.Text = "Cable Capacity";
heads.Cells.Add(headcel9);
TextBox tx8 = new TextBox();
tx8.ID = "cabl_capcty" + i;
cells9.Controls.Add(tx8);
var cells10 = new TableCell();
var headcel10 = new TableHeaderCell();
headcel10.Text = "Fiber No*";
heads.Cells.Add(headcel10);
TextBox tx9 = new TextBox();
tx9.ID = "fbr_no" + i;
RequiredFieldValidator rfvs3 = new RequiredFieldValidator();
rfvs3.ErrorMessage = "Please Enter Fiber No..!" + "<br>";
rfvs3.BorderColor = Color.Red;
rfvs3.ControlToValidate = "fbr_no" + i;
cells10.Controls.Add(tx9);
var cells11 = new TableCell();
var headcel11 = new TableHeaderCell();
headcel11.Text = "Leased/ Spare fibres";
heads.Cells.Add(headcel11);
TextBox tx10 = new TextBox();
tx10.ID = "les_spr_fbr" + i;
cells11.Controls.Add(tx10);
var cells12 = new TableCell();
var headcel12 = new TableHeaderCell();
headcel12.Text = "Pon No";
heads.Cells.Add(headcel12);
TextBox tx11 = new TextBox();
tx11.ID = "pn_no" + i;
cells12.Controls.Add(tx11);
var cells13 = new TableCell();
var headcel13 = new TableHeaderCell();
headcel13.Text = "Node Type";
heads.Cells.Add(headcel13);
TextBox tx12 = new TextBox();
tx12.ID = "nod_typ" + i;
cells13.Controls.Add(tx12);
tables.Rows.Add(heads);
rows.Cells.Add(cells);
rows.Cells.Add(cells1);
rows.Cells.Add(cells2);
rows.Cells.Add(cells3);
rows.Cells.Add(cells4);
rows.Cells.Add(cells5);
rows.Cells.Add(cells6);
rows.Cells.Add(cells7);
rows.Cells.Add(cells8);
rows.Cells.Add(cells9);
rows.Cells.Add(cells10);
rows.Cells.Add(cells11);
rows.Cells.Add(cells12);
rows.Cells.Add(cells13);
tables.Rows.Add(rows);
Div1.Controls.Add(tables);
Div1.Controls.Add(rfvs);
Div1.Controls.Add(rfvs1);
Div1.Controls.Add(rfvs2);
Div1.Controls.Add(rfvs3);
}
Button clk = new Button();
clk.ID = "probtn";
clk.Text = "Process";
clk.CssClass = "mysubmit";
clk.Click += new System.EventHandler(Submit);
Div1.Controls.Add(clk);
}
protected void Submit(object sender, EventArgs e)
{
for (int i = 0; i < adddrop; i++)
{
var tables = new Table();
var heads = new TableHeaderRow();
var rows = new TableRow();
var cells = new TableCell();
var headcel = new TableHeaderCell();
headcel.Text = "Node";
heads.Cells.Add(headcel);
TextBox tx1 = new TextBox();
tx1.ID = "node" + i;
//tx1.Text = tb1.Text;
cells.Controls.Add(tx1);
var cells1 = new TableCell();
var headcel1 = new TableHeaderCell();
headcel1.Text = "Splitter PortNo/JointNo";
heads.Cells.Add(headcel1);
TextBox tx2 = new TextBox();
tx2.ID = "splitter_no" + i;
cells1.Controls.Add(tx2);
var cells2 = new TableCell();
var headcel2 = new TableHeaderCell();
headcel2.Text = "Next Node Name *";
heads.Cells.Add(headcel2);
TextBox tx3 = new TextBox();
tx3.ID = "Nxt_nod_nam" + i;
RequiredFieldValidator rfvs = new RequiredFieldValidator();
rfvs.ErrorMessage = "Please Enter Next Node Name..!" + "<br>";
rfvs.BorderColor = Color.Red;
rfvs.ControlToValidate = "Nxt_nod_nam" + i;
cells2.Controls.Add(tx3);
var cells3 = new TableCell();
var headcel3 = new TableHeaderCell();
headcel3.Text = "Next NodeType *";
heads.Cells.Add(headcel3);
DropDownList drop1 = new DropDownList();
drop1.ID = "nxt_nod_typ" + i;
drop1.Items.Add(new ListItem("Select Splitter", "0"));
drop1.Items.Add(new ListItem("Splitter1:2", "2"));
drop1.Items.Add(new ListItem("Splitter1:5", "5"));
drop1.Items.Add(new ListItem("Splitter1:8", "8"));
drop1.Items.Add(new ListItem("Joint", "1"));
drop1.Items.Add(new ListItem("ONT", "0"));
drop1.AutoPostBack = true;
drop1.SelectedIndexChanged += new EventHandler(dro_SelectedIndexChanged);
// values.Add(drop1.SelectedItem.Text);
cells3.Controls.Add(drop1);
var cells4 = new TableCell();
var headcel4 = new TableHeaderCell();
headcel4.Text = "Segment Name *";
heads.Cells.Add(headcel4);
TextBox tx4 = new TextBox();
tx4.ID = "sgmnt_nam" + i;
RequiredFieldValidator rfvs1 = new RequiredFieldValidator();
rfvs1.ErrorMessage = "Please Enter Segment Name..!" + "<br>";
rfvs1.BorderColor = Color.Red;
rfvs1.ControlToValidate = "sgmnt_nam" + i;
cells4.Controls.Add(tx4);
var cells5 = new TableCell();
var headcel5 = new TableHeaderCell();
headcel5.Text = "Distance (m) *";
heads.Cells.Add(headcel5);
TextBox tx5 = new TextBox();
tx5.ID = "distnc" + i;
RequiredFieldValidator rfvs2 = new RequiredFieldValidator();
rfvs2.ErrorMessage = "Please Enter Distance..!" + "<br>";
rfvs2.BorderColor = Color.Red;
rfvs2.ControlToValidate = "distnc" + i;
cells5.Controls.Add(tx5);
var cells6 = new TableCell();
var headcel6 = new TableHeaderCell();
headcel6.Text = "Loss(DB)";
heads.Cells.Add(headcel6);
TextBox tx6 = new TextBox();
tx6.ID = "loss" + i;
cells6.Controls.Add(tx6);
var cells7 = new TableCell();
var headcel7 = new TableHeaderCell();
headcel7.Text = "Owner*";
heads.Cells.Add(headcel7);
DropDownList drop2 = new DropDownList();
drop2.ID = "ownr" + i;
drop2.Items.Add(new ListItem("BBNL", "BB"));
drop2.Items.Add(new ListItem("BSNL", "BS"));
drop2.Items.Add(new ListItem("PGCIL", "PG"));
drop2.Items.Add(new ListItem("RAIL TEL", "RAL"));
cells7.Controls.Add(drop2);
var cells8 = new TableCell();
var headcel8 = new TableHeaderCell();
headcel8.Text = "Cable Name";
heads.Cells.Add(headcel8);
TextBox tx7 = new TextBox();
tx7.ID = "cabl_nam" + i;
cells8.Controls.Add(tx7);
var cells9 = new TableCell();
var headcel9 = new TableHeaderCell();
headcel9.Text = "Cable Capacity";
heads.Cells.Add(headcel9);
TextBox tx8 = new TextBox();
tx8.ID = "cabl_capcty" + i;
cells9.Controls.Add(tx8);
var cells10 = new TableCell();
var headcel10 = new TableHeaderCell();
headcel10.Text = "Fiber No*";
heads.Cells.Add(headcel10);
TextBox tx9 = new TextBox();
tx9.ID = "fbr_no" + i;
RequiredFieldValidator rfvs3 = new RequiredFieldValidator();
rfvs3.ErrorMessage = "Please Enter Fiber No..!" + "<br>";
rfvs3.BorderColor = Color.Red;
rfvs3.ControlToValidate = "fbr_no" + i;
cells10.Controls.Add(tx9);
var cells11 = new TableCell();
var headcel11 = new TableHeaderCell();
headcel11.Text = "Leased/ Spare fibres";
heads.Cells.Add(headcel11);
TextBox tx10 = new TextBox();
tx10.ID = "les_spr_fbr" + i;
cells11.Controls.Add(tx10);
var cells12 = new TableCell();
var headcel12 = new TableHeaderCell();
headcel12.Text = "Pon No";
heads.Cells.Add(headcel12);
TextBox tx11 = new TextBox();
tx11.ID = "pn_no" + i;
cells12.Controls.Add(tx11);
var cells13 = new TableCell();
var headcel13 = new TableHeaderCell();
headcel13.Text = "Node Type";
heads.Cells.Add(headcel13);
TextBox tx12 = new TextBox();
tx12.ID = "nod_typ" + i;
cells13.Controls.Add(tx12);
tables.Rows.Add(heads);
rows.Cells.Add(cells);
rows.Cells.Add(cells1);
rows.Cells.Add(cells2);
rows.Cells.Add(cells3);
rows.Cells.Add(cells4);
rows.Cells.Add(cells5);
rows.Cells.Add(cells6);
rows.Cells.Add(cells7);
rows.Cells.Add(cells8);
rows.Cells.Add(cells9);
rows.Cells.Add(cells10);
rows.Cells.Add(cells11);
rows.Cells.Add(cells12);
rows.Cells.Add(cells13);
tables.Rows.Add(rows);
Div1.Controls.Add(tables);
// Div1.Controls.Add(tables);
Div1.Controls.Add(rfvs);
Div1.Controls.Add(rfvs1);
Div1.Controls.Add(rfvs2);
Div1.Controls.Add(rfvs3);
}
Button clk = new Button();
clk.ID = "probtn";
clk.Text = "Process";
clk.CssClass = "mysubmit";
clk.Click += new System.EventHandler(Submit);
Div1.Controls.Add(clk);
}
void dro_SelectedIndexChanged(object sender, EventArgs e)
{
Label lb = new Label();
lb.Text = ((DropDownList)sender).SelectedValue;
count = Convert.ToInt32(lb.Text);
if (Session["drocount"] != null)
{
adddrop += Convert.ToInt32(Session["drocount"].ToString()) + count;
}
else
{
adddrop += 0 + count;
}
Session["drocount"] = count;
couts = couts + count;
}