Jag har laddat upp en UserControl på dynamisk väg på följande sätt: Det är inget magiskt i asp.net som håller reda på allting som inte skett mellan postningarna ;) Du måste helt enkelt spara vilken usercontrol som du laddade senast och sedan i init på sidan ladda den usercontrollen. Om det sedan skulle visa sig att någon annan sida ska laddas så laddar du bara ur den första som om ingenting hade hänt ;) Jovisst, jag kan göra så att samma UserControl laddas upp efter att man har postat formuläret. Men jag vill helst att resultatet av postningen ska synas också; exempelvis labels jag har fyllt (se föregående) eller liknande. Hur göra?Dynamiskt laddad UserControl försvinner vid postning
'--I admin.aspx--
Protected WithEvents lnk_AddTopical As System.Web.UI.WebControls.LinkButton
Protected WithEvents ph_Content As System.Web.UI.WebControls.PlaceHolder
Private Sub lnk_AddTopical_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lnk_AddTopical.Click
Dim ctrl As Control
ctrl = LoadControl("add_topical.ascx")
ph_Content.Controls.Add(ctrl)
End Sub
Jag har sedan en händelse som utförs när man klickar på en knapp i UserControlen:
'--I add_topic.ascx--
Private Sub btn_Submit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Submit.Click
If chk_Swedish.Checked = False And chk_English.Checked = False Then
lbl_LanguageError.Text = "* Språk saknas"
Else
If chk_Swedish.Checked = True Then
If txt_Header_SE.Text = "" Then
lbl_HeaderError.Text = "* Rubrik saknas"
End If
If txt_Text_SE.Text = "" Then
lbl_TextError.Text = "* Text saknas"
End If
End If
If chk_Swedish.Checked = True Then
If txt_Header_EN.Text = "" Then
lbl_HeaderError.Text = "* Rubrik saknas"
End If
If txt_Text_EN.Text = "" Then
lbl_TextError.Text = "* Text saknas"
End If
End If
'ETCETC
End If
End Sub
Men eftersom det finns en <FORM RUNAT="server">-tagg redan på sidan med linkbuttons så postas hela sidan, och inte endast UserControlen. Detta medför att UserControlen helt enkelt försvinner... hur löser man det, utan att behöva ta bort den första <FORM>-taggen och sätta den i UserControlen istället? Går det?
Jag tyckte att det var en smidig "approach" till att göra en administrationssida; att dynamiskt ladda upp UserControls till en PlaceHolder, men det kanske det inte var?
Sv: Dynamiskt laddad UserControl försvinner vid postning
Sv:Dynamiskt laddad UserControl försvinner vid postning
Tack för visat intresse!