Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Page als Object an Prozedur übergeben

3 views
Skip to first unread message

horsmen

unread,
May 27, 2010, 4:59:00 PM5/27/10
to
Hallo zusammen,

ich möchte Formulardaten in einer Datebank speichern und später wieder
abrufen.
Das soll auf mehreren Pages fuktionieren, deshalb möchte ich die Prozedur
nur einmal schreiben.
Mit folgendem Aufruf

SaveUserQuery(connection, Me)

kann ich der Prozedur leider nicht auf Me zugreifen.

Vielen Dank schon mal für gute Tipps

Stefan Falz [MVP]

unread,
May 28, 2010, 2:36:18 AM5/28/10
to
Hallo ?,

"horsmen" schrieb:

> ich möchte Formulardaten in einer Datebank speichern und später wieder
> abrufen.
> Das soll auf mehreren Pages fuktionieren, deshalb möchte ich die Prozedur
> nur einmal schreiben.

dann solltest Du das entsprechende Formular und den dazugeh�rigen Code in
ein UserControl auslagern.

http://msdn.microsoft.com/de-de/library/26db8ysc.aspx

Ein Beispiel, wie man eine Webform in ein Control umbaut, findest Du hier:

http://msdn.microsoft.com/de-de/library/2x6sx01c.aspx

Das Control kannst Du dann in jede beliebige Seiten einbinden.

http://msdn.microsoft.com/de-de/library/sbz9etab.aspx


> Mit folgendem Aufruf
>
> SaveUserQuery(connection, Me)
>
> kann ich der Prozedur leider nicht auf Me zugreifen.

Zum einen ist es nicht sinnvoll, das so zu machen, zum anderen m�sstest
Du uns schon verraten, was genau "kann nicht auf Me zugreifen" hei�t.
Kommt ein Fehler? Wenn ja, welcher?

Aber wie schon geschrieben, besser w�re es, wenn Du das Formular in ein
Control auslagerst. Kleine Info dazu: Der <form ...> Tag selbst bleibt
in der Webform. Du schreibst lediglich die einzelnen Controls (also bspw.
<asp:TextBox ... />, <asp:Button ... /> in das UserControl)

BTW: Diese Newsgroup wird zum 01.06. geschlossen. Daher w�re es sinnvoll,
weitere Fragen an einem anderen Platz zu stellen.

http://social.msdn.microsoft.com/Forums/de-DE/aspnetajaxmvcde/
http://www.aspnetzone.de/
...

--
Tschau, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

horsmen

unread,
May 31, 2010, 9:23:01 AM5/31/10
to
Hallo Stefan,

vielen Dank fuer Deine Antwort.
Hab mir schon gedacht dass ich zu wenig Informationen geliefert hab.
Ich muss zugeben dass ich ein Quereinsteiger bin und mir deshalb ein paar
Basics fehlen.

In der Form gibt es z.B. eine Textbox "txtQueryShortName" die ich in der
Procedure auslesen will.

Mit dem Aufruf objUserQuery.SaveUserQuery(con, Me) will zum einen die
Connection "con" und die aktuelle Seite "Me" übergeben.

Die Procedure in der Klasse soll dann, vereinfacht dargestellt, folgendes tun:
Public Class clsUserQuery
Public Sub SaveUserQuery(ByVal con As clsConnection, ByRef m_Page As
Object)
Dim lPage As Page = m_Page
Dim strQueryShortName As String =
lPage.FindControl("txtQueryShortName").ToString

'
'
'
End Sub
End Class

Das FindControl meckert dann "Der Objektverweis wurde nicht auf eine
Objektinstanz festgelegt." obwohl die Variable lPage die uebergebene Seite
enthaelt.
Allerdings sind die Controls der Seite eine Ebene tiefer zu finden, was ich
mir nicht erklären kann.
Ich hab zwar noch keine Ahnung was der grosse Unterschied zu "User controls"
ist, kann mir deshalb auch nicht vorstellen dass sich das Verhalten damit
aendern wird.

Vielen Dank,
Horst

"Stefan Falz [MVP]" wrote:

> Hallo ?,
>
> "horsmen" schrieb:
>
> > ich möchte Formulardaten in einer Datebank speichern und später wieder
> > abrufen.
> > Das soll auf mehreren Pages fuktionieren, deshalb möchte ich die Prozedur
> > nur einmal schreiben.
>
> dann solltest Du das entsprechende Formular und den dazugehrigen Code in


> ein UserControl auslagern.
>
> http://msdn.microsoft.com/de-de/library/26db8ysc.aspx
>
> Ein Beispiel, wie man eine Webform in ein Control umbaut, findest Du hier:
>
> http://msdn.microsoft.com/de-de/library/2x6sx01c.aspx
>
> Das Control kannst Du dann in jede beliebige Seiten einbinden.
>
> http://msdn.microsoft.com/de-de/library/sbz9etab.aspx
>
>
> > Mit folgendem Aufruf
> >
> > SaveUserQuery(connection, Me)
> >
> > kann ich der Prozedur leider nicht auf Me zugreifen.
>

> Zum einen ist es nicht sinnvoll, das so zu machen, zum anderen msstest
> Du uns schon verraten, was genau "kann nicht auf Me zugreifen" heit.


> Kommt ein Fehler? Wenn ja, welcher?
>

> Aber wie schon geschrieben, besser wre es, wenn Du das Formular in ein


> Control auslagerst. Kleine Info dazu: Der <form ...> Tag selbst bleibt
> in der Webform. Du schreibst lediglich die einzelnen Controls (also bspw.
> <asp:TextBox ... />, <asp:Button ... /> in das UserControl)
>

> BTW: Diese Newsgroup wird zum 01.06. geschlossen. Daher wre es sinnvoll,

0 new messages