Ich versuche, ein Textfeld dynamisch mit einer Zeichenfolge zu erstellen. und dann versuchen, auf einem Click-Klick zu lesen.Lese TextBox von dynamisch erstellt
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="textboxtest.aspx.cs" Inherits="test2.textboxtest" %>
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<div id="TextBoxDiv" runat="server" class="asid box">
</div>
<asp:Button ID="Button1" runat="server" Text="CreateTextBox" onclick="Button1_Click" />
<asp:Button ID="Button2" runat="server" Text="ReadTextBox" onclick="Button2_Click" />
</asp:Content>
Hier ist der Code dahinter.
protected void Button1_Click(object sender, EventArgs e)
{
string finalText = @"<input type=""text"" ID=""T1"" runat=""server"">
<asp:TextBox ID=""TB1"" runat=""server""></asp:TextBox>";
TextBoxDiv.InnerHtml = finalText;
}
protected void Button2_Click(object sender, EventArgs e)
{
TextBox txtAddress2 = (TextBox)Page.FindControl("TB1");
foreach (Control c in TextBoxDiv.Controls)
{
if (c is TextBox)
{
TextBox txt = (TextBox)c;
string str = txt.Text;
}
}
}
Wie Sie aus dem Code sehen können, habe ich versucht, den Textkasten mit Hilfe von Find Control und auch durchschleifen zugreifen. aber beide versagen.
verwenden, um eine 'Placeholder' anstelle eines div (es wird ein div erzeugen) und fügen Sie dann Steuerelemente im Platzhalter anstelle von 'InnerHtml' –
@ ADreNaLiNe-DJ Ich verwende innetHTML, weil ich eine Tabelle habe und dann mehrere Spalten mit Textfeldern hinzufüge. Ich habe den Code vereinfacht. – user3202862
InnerHtml lässt Ihre ASP.Net-Steuerelemente nicht "kompilieren/ausführen". Fügen Sie einfach die Zeichenfolge als/ist –