62,046
社区成员
发帖
与我相关
我的任务
分享
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
请输入你要创建的行数:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1"
runat="server" Text="Button" onclick="Button1_Click" />
<br />
<asp:Panel ID="Panel1" runat="server">
</asp:Panel>
<asp:Button ID="Button2" runat="server" Text="Ok" onclick="Button2_Click" />
</div>
</form>
</body>
</html>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
CreateList(false);
}
}
protected void Button1_Click(object sender, EventArgs e)
{
GetNum = int.Parse(this.TextBox1.Text);
CreateList(true);
}
//动态创建控件
private void CreateList(bool flgh)
{
Label lbl;
TextBox txt;
DropDownList drlist;
int num = GetNum;
for (int i = 0; i < num; i++)
{
this.Panel1.Controls.Clear();
//创建Panel
Panel p = new Panel();
p.ID = "ptxt" + i.ToString();
//创建Label
lbl = new Label();
lbl.ID = "label" + i.ToString();
lbl.Attributes.Add("runat", "server");
lbl.Text = "详细信息" + i.ToString();
//创建TextBox
txt = new TextBox();
txt.ID = "txt" + i.ToString();
Page.Form.Controls.Add(txt);
txt.Attributes.Add("runat", "server");
//创建DropDownList控件
drlist = new DropDownList();
drlist.ID = "drlist" + i.ToString();
drlist.Attributes.Add("runat", "server");
drlist.AutoPostBack = true;
drlist.DataSource = GetType();
drlist.DataTextField = "tname";
drlist.DataValueField = "id";
drlist.DataBind();
Panel1.Controls.Add(lbl);
Panel1.Controls.Add(txt);
Panel1.Controls.Add(drlist);
}
}
private int GetNum
{
get
{
object x = ViewState["GetNum"];
if (x == null)
{
x = 0;
ViewState["GetNum"] = x;
}
return (int)x;
}
set
{
ViewState["GetNum"] = value;
}
}
private DataSet GetType()
{
using (OleDbConnection cn = new OleDbConnection(ConfigurationManager.ConnectionStrings["LocalServer"].ConnectionString))
{
using (OleDbDataAdapter da = new OleDbDataAdapter("select * from type", cn))
{
DataSet ds = new DataSet();
cn.Open();
da.Fill(ds);
cn.Close();
return ds;
}
}
}
protected void Button2_Click(object sender, EventArgs e)
{
using (OleDbConnection cn = new OleDbConnection(ConfigurationManager.ConnectionStrings["LocalServer"].ConnectionString))
{
using (OleDbCommand cmd = new OleDbCommand("insert into books(bname,tid) values(@name,@id)", cn))
{
for (int i = 0; i < int.Parse(TextBox1.Text); i++)
{
cmd.Parameters.AddWithValue("@name", (this.Panel1.FindControl("txt" + i.ToString())as TextBox).Text);
cmd.Parameters.AddWithValue("@id", (this.Panel1.FindControl("drlist" + i.ToString()) as DropDownList).SelectedValue);
}
int rows = -1;
cn.Open();
rows = cmd.ExecuteNonQuery();
if (rows>0)
{
Response.Write("<script>alert('添加成功')</script>");
}
else
Response.Write("<script>alert('添加失败')</script>");
cn.Close();
}
}
}
for (int i = 0; i < num; i++)
{
this.Panel1.Controls.Clear();