Click to See Complete Forum and Search --> : how can we find the value of controls within placeholder


mayanksrmcem
05-27-2008, 09:05 AM
hello all,

I want to generate an HTML table with some asp controls,
for this i'm using PlaceHolder to add controls on page.
it works successfully.

but after submition of page, i want to retrive the value of that controls,
it is not working......

i'm writing my code as followes,
plz check it, and try to find the problem in my code.

thanx....

Mayank Kumar
Software Developer
Omni-Net Technologies Pvt. Ltd



------------ aspx page ----------------------

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="runTimeControls.aspx.cs" Inherits="runTimeControls" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:DropDownList ID="ddl1" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ddl1_SelectedIndexChanged">
</asp:DropDownList>
<asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
<asp:Button ID="btnSubmit" runat="server" OnClick="Button1_Click" Text="Button" /></div>
</form>
</body>
</html>


------------------------ aspx.cs page --------------------------

using System;
using System.Data;
using System.Configuration;
using System.Collections;
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 runTimeControls : System.Web.UI.Page
{
string str;
Class1 obj = new Class1();
protected void Page_Load(object sender, EventArgs e)
{
ddl1.Items.Add("1");
ddl1.Items.Add("2");
ddl1.Items.Add("3");
ddl1.Items.Add("4");
ddl1.Items.Add("5");

//Button Button1 = new Button();
//Button1.Text = "Button 1";
//PlaceHolder1.Controls.Add(Button1);

//Literal Literal1 = new Literal();
//Literal1.Text = "<br>";
//PlaceHolder1.Controls.Add(Literal1);

//Button Button2 = new Button();
//Button2.Text = "Button 2";
//PlaceHolder1.Controls.Add(Button2);


}
protected void ddl1_SelectedIndexChanged(object sender, EventArgs e)
{
//PlaceHolder PlaceHolder1 = new PlaceHolder();
//Literal Literal1 = new Literal();
//Literal1.Text = "<br><table>";
PlaceHolder1.Controls.Add(new LiteralControl("<br><table>"));

int numlabels = System.Convert.ToInt32(ddl1.SelectedItem.Text);
for (int i = 1; i <= numlabels; i++)
{
Label myLabel = new Label();
Label myLabel1 = new Label();
TextBox categoryName = new TextBox();
TextBox categoryLevel = new TextBox();

// Set the label's Text and ID properties.


//Literal1.Text = "<tr><td>";
PlaceHolder1.Controls.Add(new LiteralControl("<tr><td>"));

myLabel.Text = "Mayank " + i.ToString();
myLabel.ID = "Label1" + i.ToString();
PlaceHolder1.Controls.Add(myLabel);

PlaceHolder1.Controls.Add(new LiteralControl("</td><td>"));

myLabel1.Text = " Kumar " + i.ToString();
myLabel1.ID = "Label2" + i.ToString();
PlaceHolder1.Controls.Add(myLabel1);

PlaceHolder1.Controls.Add(new LiteralControl("</td><td>"));

categoryName.Text = " Category Name " + i.ToString();
categoryName.ID = "catNameTxt" + i.ToString();
PlaceHolder1.Controls.Add(categoryName);

PlaceHolder1.Controls.Add(new LiteralControl("</td><td>"));

categoryLevel.Text = " Category Level " + i.ToString();
categoryLevel.ID = "catLevelTxt" + i.ToString();
PlaceHolder1.Controls.Add(categoryLevel);

//Literal1.Text = "</td></tr>";
PlaceHolder1.Controls.Add(new LiteralControl("</td></tr>"));

// Add a spacer in the form of an HTML <br /> element.
//PlaceHolder1.Controls.Add(new LiteralControl("<br />"));
}
PlaceHolder1.Controls.Add(new LiteralControl("<tr><td colspn='4'>&nbsp;</td></tr>"));
PlaceHolder1.Controls.Add(new LiteralControl("<tr><td colspn='2' align='right'>"));
//Literal1.Text = "</table>";

//Button Button1 = new Button();
//Button1.Text = "Submit";
btnSubmit.Text = "Submit";
PlaceHolder1.Controls.Add(btnSubmit);

PlaceHolder1.Controls.Add(new LiteralControl("</td><td colspn='2' align='left'>"));

Button Button2 = new Button();
Button2.Text = "Reset";
PlaceHolder1.Controls.Add(Button2);

PlaceHolder1.Controls.Add(new LiteralControl("</td></tr></table>"));

}

protected void Button1_Click(object sender, EventArgs e)
{
int numlabels = System.Convert.ToInt32(ddl1.SelectedItem.Text);
for (int i = 1; i <= numlabels; i++)
{
string cat = PlaceHolder1.FindControl("categoryName").ID[i].ToString();
//str = "insert into menuCategory values('" + PlaceHolder1.FindControl("catNameTxt" + i.ToString()).ToString() + "'," + PlaceHolder1.FindControl("catLevelTxt" + i.ToString()).ToString() + ")";
//str = "insert into menuCategory values('" + PlaceHolder1.FindControl("categoryName").ID["catNameTxt" + i.ToString()] + "'," + PlaceHolder1.FindControl("categoryLevel").ID["catLevelTxt" + i.ToString()] + ")";
//obj.ExecuteNonSql(str);
}
Response.Redirect("default.aspx");
}
}


------------------------------------------------------------------------

plz help me....