ASP.NET [C#] | PlaceHolder Problem

René Paschold

Erfahrenes Mitglied
Hallo Leute,

ich habe leider ein kleines Verständnis Problem was PlaceHolder angeht. Wenn ich zum Beispiel auf einer Eingabe Seite ein Formular habe welches zwei Form Felder hat, dann übergebe ich das auf eine zweite Seite:

<pre>
private void Button1_Click(object sender, System.EventArgs e)
{
panel_Datainput.Visible = false;
panel_Dataoutput.Visible = true;
panel_Backbutton.Visible = true;

label_Name.Text = textBox_Name.Text;
Label_Email.Text = textBox_Email.Text;
}

Das ist die Methode die beim Click auf den Button ausgeführt wird. Und das
hier ist der HTML Code!

<table border="0" align="center" cellpadding="5" cellspacing="0">
<form id="Form1" method="post" runat="server">
<asp:panel id="panel_Datainput" runat="server" HorizontalAlign="Center">
<TBODY>
<TR bgColor="darkgray">
<TD colSpan="2"><STRONG>Bitte Daten eingeben:</STRONG></TD>
</TR>
<TR bgColor="darkgray">
<TD>Name:</TD>
<TD>
<asp:TextBox id="textBox_Name" runat="server"></asp:TextBox></TD>
</TR>
<TR bgColor="darkgray">
<TD>Email:</TD>
<TD>
<asp:TextBox id="textBox_Email" runat="server"></asp:TextBox></TD>
</TR>
<TR bgColor="darkgray">
<TD>&nbsp;</TD>
<TD>
<asp:Button id="Button1" runat="server"
Text="Absenden"></asp:Button></TD>
</TR>
</asp:panel>
<asp:panel id="panel_Dataoutput" runat="server" Visible="False"
HorizontalAlign="Center">
<TR bgColor="darkgray">
<TD colSpan="2"><STRONG>Deine eingegebenen Daten lauten:</STRONG></TD>
</TR>
<TR bgColor="darkgray">
<TD>Name:</TD>
<TD>
<asp:Label id="label_Name" runat="server"></asp:Label></TD>
</TR>
<TR bgColor="darkgray">
<TD>Email:</TD>
<TD>
<asp:Label id="Label_Email" runat="server"></asp:Label></TD>
</TR>
</asp:panel>
</form>
<asp:panel id="panel_Backbutton" runat="server" Visible="false">
<TR>
<TD colSpan="2"><a href="WebForm1.aspx">Zurück</a></TD>
</TR>
</asp:panel></TBODY>
</table>
</pre>

Wenn man jetzt nur den Namen eigegeben hat, dann wird ja auf der Ausgabe
trotzdem das Feld Email: versucht auszugeben. Ich bekomme zwar keinen
Fehler, aber die Beschreibung steht trotzdem da.

Wie kann ich jetzt sagen das dann die ganze tr nicht angezeigt werden soll?
Also nur die Zeile, welches auch vorher in dem Formular ausgefüllt wurde.
Man sagte mich ich solle das mit PlaceHolder machen, aber irgendwie komme
ich damit nicht zurecht!

Gruß

Rene
 

SteKo

Erfahrenes Mitglied
ok ich versuchs mal aussm kopf.. is aber VB und nich C# sollte aber kein prob sein


als erstes packst du den placeholder an der stelle in deinen source wo später der <tr>blabla</tr> tag erscheinen soll.. der codebehind sollte dan ca. so aussehen:


Dim PlaceHolder As New PlaceHolder()
Dim Text As New LiteralControl()

Text.Text = "<tr>wasweissich</tr>usw"
PlaceHolder.Controls.Add(Text)



greez SteKo