2016-03-23 22 views
0

Ich möchte Textboxen dynamisch hinzufügen und diese Werte in der Datenbank in asp.net speichern, gibt es irgendwelche Steuerelemente dafür in asp.net?wie man Textfeld dynamisch hinzufügen und in asp.net speichern

Wie kann ich dies in asp.net tun?

+0

Ich weiß, dass dies getan werden kann Jquery verwenden, aber nach einer Postbacks der neuen Textfelder –

+0

verloren gehen kann ich Ihnen helfen, diesen Zustand in maintaing, wenn Sie Code in jquery zur Verfügung stellen können oder sonst kann dies das Panel durchgeführt wird unter Verwendung von , die ich als Antwort teilen werde – Webruster

+0

Überprüfen Sie dies: http://www.aspsnippets.com/Articles/Save-Insert-dynamic-TextBox-Value-Text-to-Database-in-ASPNet-using-C-and- VBNet.aspx –

Antwort

1

Sie können das Panel verwenden, um das dynamische Textfeld zu erstellen. Panel 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"); 
} 

Für DB speichern:

<asp:Button ID="btnSave" runat="server" Text="Save" OnClick="Save" /> 

C#

protected void Save (object sender, 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(); 
      } 
     } 

} 

Weitere Details siehe this link

bearbeiten

Wie Sie in Ihrem Kommentar erwähnt, dass Sie Jquery verwenden, so um das zu laden während die Postbacks versuchen in die Textbox in

function pageLoad() {// your dynamic Text box code using Jquery} 
3

hinzuzufügen dynamische Steuerung laden Sie Ihre ASPX-Datei unten ist Beispielcode.

unten div in Ihrer ASPX-Datei mit id, die addControl

ist
<div id="addControl" runat="server"> 
</div> 

Sie dynamische TextBox-Steuerelement CS-Datei durch Hinzufügen von Code unten in die Sie erstellen können. Add Control ist eine ID von oben define div.

TextBox txt1 = new TextBox(); 
txt1.ID = "txtOne"; 
txt1.Text = ""; 
txt1.CssClass = "myClass"; 
txt1.ClientIDMode = System.Web.UI.ClientIDMode.Static; 
addControl.Controls.Add(txt1); 

Mit Hilfe von Namevaluecollection können Sie den Wert von TextBox erhalten.

NameValueCollection frmCollection = Request.Form; 
string inputString = frmCollection["txtOne"]; 

Namevaluecollection stellt eine Sammlung von zugehörigen String Schlüssel und String-Werte, die entweder mit dem Schlüssel oder mit dem Index zugegriffen werden kann.

Verwandte Themen