MS-Office-Forum
Google
   

Zurück   MS-Office-Forum > Microsoft Visual Studio /.NET > Visual Studio .NET (alle Produkte: C#, VB.NET etc.)
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads Der Renner, 11 Entwicklertools für Access, Tipps & Trick und offene Datenbanken zum einzigartigen Preis.
Themen-Optionen Ansicht
Alt 29.06.2016, 12:18   #1
eddie
MOF User
MOF User
Standard VB - MS Visual Web Developper: Steuerelemente mit VB.net auslesen?

Ich habe mit dem MS Visual Web Developer 2010 Express eine Webseite mit einer Menge Eingabefelder entworfen und möchte jetzt - ähnlich wie in VBA - die Steuerelemente der Reihe nach auslesen und mittels Mail versenden.

In VBA gibt es folgenden Code für so was:

Code:

    Dim ctr As Control 

     For Each ctr In Me.Controls 
         Debug.Print ctr.Name, ctr.value 
     Next
Gibt es etwas vergleichbares in VB.NET auch?

Ich habe schon im Google in diversen Foren gesucht, aber nichts brauchbares gefunden.

Ein Muster meiner Webseite habe ich angehängt.

Beim Klicken auf den Button "Test" sollten die Controls ausgelesen werden.
Angehängte Dateien
Dateityp: zip Test.zip (3,5 KB, 1x aufgerufen)

__________________

Gruß
Eddie

Win7®, Office2010®, Visual Studio 2010 (VB; C#)®
eddie ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 30.06.2016, 07:56   #2
eddie
Threadstarter Threadstarter
MOF User
MOF User
Standard

Ich bin jetzt selber ein Stück weitergekommen. Zumindest die Namen der Steuerelemente kann ich jetzt auslesen:

Code:

    Protected Sub Test_Click(sender As Object, e As System.EventArgs) Handles Test.Click
        'Alle Controls durchlaufen
        For Each ctl As Control In Me.Controls()
            '            Response.Write(ctl.ID & "|")
            For Each SubCtl As Control In ctl.Controls()
                If SubCtl.ID <> "" Then
                    Response.Write(SubCtl.ID & "|")
                End If
            Next
         Next
    End Sub
Was mir aber jetzt noch fehlt, ist eine Möglichkeit die Werte der Controls auf diese Art auszulesen.

__________________

Gruß
Eddie

Win7®, Office2010®, Visual Studio 2010 (VB; C#)®
eddie ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 30.06.2016, 10:18   #3
rms1962
Neuer Benutzer
Neuer Benutzer
Standard

Hi,

mit 'SubCtl.Text'

Gruß
Ralf
rms1962 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 30.06.2016, 14:22   #4
eddie
Threadstarter Threadstarter
MOF User
MOF User
Standard

Danke Ralf,

bin inzwischen selber auch schon drauf gekommen.

Falls jemand das gleiche Problem hat, hier mal die endgültige Version (für Textboxen und Checkboxes):

Code:

    Protected Sub Test_Click(sender As Object, e As System.EventArgs) Handles Test.Click
        Dim Felder(0, 2) As Object
        Dim i As Long

        'Alle Controls durchlaufen
        For Each ctl As Control In Me.Controls()
            '           Response.Write(ctl.ID & "|")
            i = 0

            ' Anzahl Steuerelemente feststellen
            For Each SubCtl As Control In ctl.Controls()
                If SubCtl.ID <> "" Then
                    i = i + 1
                End If
            Next

            If i > 0 Then
                ReDim Felder(i - 1, 2)
                Response.Write(i & "||")
            End If

            i = 0
            For Each SubCtl As Control In ctl.Controls()
                If SubCtl.ID <> "" Then
                    Felder(i, 0) = SubCtl.ID
                    Response.Write(SubCtl.ID & "|")

                    ' Auslesen Type
                    Felder(i, 1) = Replace(SubCtl.GetType.ToString, "System.Web.UI.WebControls.", "")
                    Response.Write(Replace(SubCtl.GetType.ToString, "System.Web.UI.WebControls.", "") & "|")

                    ' Auslesen Werte:
                    If TypeOf SubCtl Is TextBox Then
                        Felder(i, 2) = CType(SubCtl, TextBox).Text
                        Response.Write(CType(SubCtl, TextBox).Text)
                    ElseIf TypeOf SubCtl Is CheckBox Then
                        If CType(SubCtl, CheckBox).Checked Then
                            Felder(i, 2) = -1
                            Response.Write("TRUE")
                        Else
                            Felder(i, 2) = 0
                            Response.Write("FALSE")
                        End If
                    End If

                    Response.Write("||")
                    i = i + 1
                End If
            Next
            If i > 0 Then Response.Write(i)
        Next
    End Sub
End Class

__________________

Gruß
Eddie

Win7®, Office2010®, Visual Studio 2010 (VB; C#)®
eddie ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:43 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

Copyright ©2000-2010 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günther Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.
Beachten Sie bitte auch unsere Nutzungsbedingungen.