如图所示:
前台代码:
<tr> <td colspan="4" align="center"> <asp:Panel ID="Panel1" runat="server" Width="400px" > </asp:Panel></td> </tr>
后台cs:
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; using System.Data.SqlClient;
public partial class Goods : System.Web.UI.Page {
protected void Page_Load(object sender, EventArgs e) { //if(!IsPostBack) //{ // string name=Request.QueryString["name"].ToString(); // string address=Request.QueryString["name"].ToString(); // string telephone=Request.QueryString["name"].ToString(); // if (name!=null) // { // tx_ClientName.Text = name; // } // else if (address!=null) // { // tx_ClientAddress.Text = address; // } // else if(telephone!=null) // { // tx_ClientTele.Text = telephone; // } //} ReLoadAddedTextBoxs(); } private void ReLoadAddedTextBoxs() { for (int i = 1; i <= AddedTextBoxIds.Count; i++) { if (Convert.ToBoolean(i % 2)) { DropDownList dlist = new DropDownList(); dlist.ID = i.ToString(); dlist.Width = Unit.Pixel(150); Datadropdownlist(dlist); Panel1.Controls.Add(dlist); // UpdatePanel1.ContentTemplateContainer.Controls.Add(dlist); } else { TextBox tb = new TextBox(); tb.ID = i.ToString(); tb.Width = Unit.Pixel(100); Panel1.Controls.Add(tb); // UpdatePanel1.ContentTemplateContainer.Controls.Add(tb); } } }
//加载dropdownlist的数据信息 protected void Datadropdownlist(DropDownList dlist) { dlist.DataSource = SQLClass.GetTable("SELECT GoodsName,GoodsID FROM [A_Goods]"); dlist.DataTextField = "GoodsName"; dlist.DataValueField = "GoodsID"; dlist.DataBind(); }
private const string c_ids = "TextBoxDropDownListID"; /// <summary> /// 纪录下动态增加的TextBox与dropdownlist的ID值 /// </summary> private ArrayList AddedTextBoxIds { get { if (ViewState[c_ids] == null) ViewState[c_ids] = new ArrayList();
return ViewState[c_ids] as ArrayList; }
set { ViewState[c_ids] = value; } }
protected void Button1_Click(object sender, EventArgs e) { //获取现在要增加的TextBox的ID索引 string id = Convert.ToString(AddedTextBoxIds.Count + 1); if (Convert.ToBoolean((AddedTextBoxIds.Count + 1) % 2)) //当是奇数的时候为增加dropdownlist {
DropDownList dlist = new DropDownList(); dlist.Width = Unit.Pixel(150); Datadropdownlist(dlist); dlist.ID = id; Panel1.Controls.Add(dlist); // UpdatePanel1.ContentTemplateContainer.Controls.Add(dlist); AddedTextBoxIds.Add(id); } else //当是偶数的时候为增加text文本框 { TextBox newBox = new TextBox(); newBox.Width = Unit.Pixel(100); newBox.ID = id; newBox.Text = "数量:"; Panel1.Controls.Add(newBox); // UpdatePanel1.ContentTemplateContainer.Controls.Add(newBox); AddedTextBoxIds.Add(id); //纪录下新增加的TextBoxID,在下次PostBack时重新加载 } } protected void Button2_Click(object sender, EventArgs e) { string[] droplistItem = new string[20]; string[] droplistID = new string[20]; string[] text = new string[20]; for (int i = 1; i <= AddedTextBoxIds.Count; i++) //获取panel1容器中的控件个数,int=1 表示第一个控件是dropdownlist { if (Convert.ToBoolean(i % 2)) { DropDownList drop = Panel1.FindControl(i.ToString()) as DropDownList; // DropDownList drop = UpdatePanel1.ContentTemplateContainer.FindControl(i.ToString()) as DropDownList; droplistItem[(((i + 1) / 2) - 1)] = drop.SelectedItem.ToString(); droplistID[(((i + 1) / 2) - 1)] = drop.SelectedValue.ToString(); } else { TextBox tb = Panel1.FindControl(i.ToString()) as TextBox; // TextBox tb = UpdatePanel1.ContentTemplateContainer.FindControl(i.ToString()) as TextBox; text[(i/2-1)] = tb.Text.Substring(3).ToString(); } }
//向数据库中插入商品名称及数量 for (int i = 0; i <((AddedTextBoxIds.Count)/2); i++) { string str = "insert into A_ClientGoods([GoodsID],[GoodsName],[GoodsNumber],[ClientID]) values('" + droplistID[i].ToString() + "','" + droplistItem[i].ToString() + "','" + text[i].ToString() + "','" + 1 + "')"; SQLClass.GetExecuteNonQuery(str); }
}
}
关键部分已经打赏重点了。
|