[英]how to add textbox dynamically and save in asp.net
我想動態添加文本框並將這些值保存到asp.net中的數據庫中,asp.net中是否對此有任何控件?
我如何在asp.net中做到這一點?
在下面的.aspx文件中添加動態控件的示例代碼。
在.aspx文件中的div下面添加ID為addControl的div
<div id="addControl" runat="server">
</div>
您可以通過在.cs文件中添加以下代碼來創建動態TextBox控件。 添加控件是上面定義div的ID。
TextBox txt1 = new TextBox();
txt1.ID = "txtOne";
txt1.Text = "";
txt1.CssClass = "myClass";
txt1.ClientIDMode = System.Web.UI.ClientIDMode.Static;
addControl.Controls.Add(txt1);
借助NameValueCollection,您可以獲取TextBox的值。
NameValueCollection frmCollection = Request.Form;
string inputString = frmCollection["txtOne"];
NameValueCollection表示關聯的String鍵和String值的集合,可以通過鍵或索引來訪問它們。
您可以使用面板創建“動態文本”框。 面板pnlTextBox;
protected void Page_PreInit(object sender, EventArgs e)
{
//Create a Dynamic Panel
pnlTextBox = new Panel();
pnlTextBox.ID = "pnlTextBox";
pnlTextBox.BorderWidth = 1;
pnlTextBox.Width = 300;
this.form1.Controls.Add(pnlTextBox);
//Create a LinkDynamic Button to Add TextBoxes
LinkButton btnAddtxt = new LinkButton();
btnAddtxt.ID = "btnAddTxt";
btnAddtxt.Text = "Add TextBox";
btnAddtxt.Click += new System.EventHandler(btnAdd_Click);
this.form1.Controls.Add(btnAddtxt);
//Recreate Controls
RecreateControls("txtDynamic", "TextBox");
}
要保存到數據庫:
<asp:Button ID="btnSave" runat="server" Text="Save" OnClick="Save" />
C#
受保護的無效Save(對象發送者,EventArgs e)
{
string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
using (SqlConnection con = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand("INSERT INTO Names(Name) VALUES(@Name)"))
{
cmd.Connection = con;
cmd.Parameters.AddWithValue("@Name", txtDynamic.Text);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
}
}
有關更多詳細信息,請參考此鏈接
編輯
正如您在評論中提到的那樣,您正在使用Jquery,因此為了在回發期間加載它,請嘗試在
function pageLoad() {// your dynamic Text box code using Jquery}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.