DetailsView einem Benutzersteuerelement dynamisch hinzufügen

07/11/2007 - 16:07 von Stefan Dirks | Report spam
Hallo NG,

ich möchte einem Benutzersteuerelement (ascx-Datei) in dessen
Page.Load-Event einen DetailsView hinzufügen.

Bei einem Label geht es problemlos. Versuche ich jedoch den DetailsView dem
Control hinzuzufügen, dann erhalte ich die Fehlermeldung, dass sich die
DetailsView in einem Formulartag befinden muss. Mein Problem ist jetzt, dass
die ASPX-Seite ja bereits selber über einen Formulartag verfügt. Ich kann
folglich dem Control kein eigenes hinzufügen.
Wie muss ich dem Control jetzt mitteilen, dass es die DetailsView der Form
der "àußeren" ASPX-Seite hinzufügen soll?

Unten ein kleiner Ausschnitt aus dem Quellcode und die Fehlermeldung.

Gruß Stefan

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Me.Load

'Setzen der SqlDataSource

Dim ds As SqlDataSource =
m_UniDataSourceHelper.GetDataSource(m_DVDataSourceId)

ds.SelectParameters.Add(New SessionParameter("BBUID", "DETAILBBUID"))

'SqlDataSource hinzufügen

Me.Controls.Add(ds)

'Setzen des DetailsViews

Dim dv As New DetailsView

m_UniDetailHelper.SetDetails(dv, m_DVId)

'Binden des DetailsViews an die SqlDataSource

dv.DataSourceID = ds.ID



'DetailsView hinzufügen

Me.Controls.Add(dv)

'Dim lbTest As New Label

'lbTest.ID = "lbTest"

'lbTest.Text = ds.ID

'Me.Controls.Add(lbTest)



ds.DataBind()

dv.DataBind()



End Sub



Fehlermeldung: Das Steuerelement ctl02_DetailsView1 vom Typ DetailsView muss
in einem Formulartag mit runat=server positioniert werden.
 

Lesen sie die antworten

#1 Stefan Dirks
07/11/2007 - 16:15 | Warnen spam
Ups, grade selber drauf gekommen.

Natürlich mit Page.Form dann klappts auch mit dem DetailsView.

Jetzt stellt sich mir die Frage, wie ich es schaffe, dass ich die Elemente
nicht bei jedem Postback der Seite neu hinzufügen muss. Gibt es dafür eine
elegante Möglichkeit?

Gruß Stefan

Ähnliche fragen