TextBox füllen ändern dann auslesen und in DB schreiben


RaketenPeter

Mitglied
Hallo Leute!

habe folgendes Problem ich steh da schon seit gestern auf dem Schlauch und komm nciht dahinter.

Folgendes Problem:
Ich habe ein Profil Formular und das wird automatisch asu der DB gefüllt! Das Funktioniert auch! nun möchte ich den Inhalt der Textboxen auslesen und diesen auch per Butoon Click Funktion auslesen und in die DB schreiben. Das macht er aber nicht!
Hier der Quellcode:

Code:
<asp:Content ID="OwnProfileContent" ContentPlaceHolderID="CPHContent" Runat="Server">
    <fieldset class="fsOwnProfile">
        <legend class="lgOwnProfile">Dein Profil</legend>
        <p>
            <asp:Label CssClass="lbProfilePreName" ID="lbProfilePreName" runat="server" Text="Vorname"></asp:Label>
            <asp:TextBox CssClass="tbProfilePreName" ID="tbProfilePreName" runat="server"></asp:TextBox>
            <asp:Label CssClass="lbProfileLastName" ID="lbProfileLastName" runat="server" Text="Nachname"></asp:Label>
            <asp:TextBox CssClass="tbProfileLastName" ID="tbProfileLastName" runat="server"></asp:TextBox>
            <asp:Label CssClass="lbProfileAge" ID="lbProfileAge" runat="server" Text="Alter"></asp:Label>
            <asp:TextBox CssClass="tbProfileAge" ID="tbProfileAge" runat="server"></asp:TextBox>
            <asp:Label CssClass="lbProfileCity"  ID="lbProfileCity" runat="server" Text="Stadt"></asp:Label>
            <asp:TextBox CssClass="tbProfileCity" ID="tbProfileCity" runat="server"></asp:TextBox>
            <asp:Label CssClass="lbProfileHobbies" ID="lbProfileHobbies" runat="server" Text="Hobbies"></asp:Label>
            <asp:TextBox CssClass="tbProfileHobbies" ID="tbProfileHobbies" runat="server"></asp:TextBox>
            <asp:Label CssClass="lbProfileEmail" ID="lbProfileEmail" runat="server" Text="Email"></asp:Label>
            <asp:TextBox CssClass="tbProfileEmail" ID="tbProfileEmail" runat="server" Enabled="false"></asp:TextBox>
            <asp:Button CssClass="btProfileChange" ID="btProfielChange" runat="server" text="Profil ändern" OnClick="btClick_OwnProfile" ></asp:Button>
        </p>
    </fieldset>
</asp:Content>


hier der VB Code behind

Visual Basic:
Imports System.Data

Partial Class OwnProfile
    Inherits System.Web.UI.Page
    Dim username As String = ""


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

        'Füllen der Profil Textboxes um Angaben zu ändern
        Dim myOwnProfileAdapter As New DataSet1TableAdapters.User_InformationsTableAdapter()
        Dim myOwnProfileDataTab As New DataTable

        'Aktuellen Username einlesen um UserDAten aus DB zu lesen
        Me.username = Membership.GetUser().ToString


        'Füllen des Vornamens
        tbProfilePreName.Text = myOwnProfileAdapter.GetPreNameByUsername(Me.username)

        'Füllen des Nachnamens
        tbProfileLastName.Text = myOwnProfileAdapter.GetLastNameByUsername(Me.username)

        'Füllen des Alters
        If myOwnProfileAdapter.GetAgeByUsername(username) Is Nothing Then
            tbProfileAge.Text = "0"
        Else
            tbProfileAge.Text = myOwnProfileAdapter.GetAgeByUsername(Me.username)
        End If

        'Füllen der Stadt
        tbProfileCity.Text = myOwnProfileAdapter.GetCityByUsername(Me.username)

        'Füllen der Hobbies
        tbProfileHobbies.Text = myOwnProfileAdapter.GetHobbiesByUsername(Me.username)

        'Füllen der Email
        tbProfileEmail.Text = myOwnProfileAdapter.GetEmailByUsername(Me.username)

    End Sub
    'Senden der Änderungen an die DB
    Protected Sub btClick_OwnProfile(ByVal Sender As Object, ByVal E As EventArgs)

        'TODO Textboxes Neu auslesen




        'Füllen der Profil Textboxes um Angaben zu ändern
        Dim myOwnProfileSendAdapter As New DataSet1TableAdapters.User_InformationsTableAdapter()
        Dim myOwnProfileSendDataTab As New DataTable

        'Insert in die DB mit Parameter aus der Eingabemaske
        myOwnProfileSendAdapter.UpdateUserProfile(tbProfilePreName.Text.Trim, tbProfileLastName.Text.Trim, tbProfileAge.Text.Trim, tbProfileCity.Text.Trim, tbProfileHobbies.Text.Trim, Me.username)

        
    End Sub
End Class


Vielen Dank im vorraus
 
Zuletzt bearbeitet:

RaketenPeter

Mitglied
So hab mir ne Lösung zurecht gebaut und die Funktioniert auch! Ob es daran lag weiss ich letztendlcih nicht genau! aber falls es mal jemanden interessiert hier meine Funktionierende Variante:

Habe lediglich eine if is not postback schleife um den pageload part gelegt wie im code zusehen ist!

Visual Basic:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        'Aktuellen Username einlesen um UserDAten aus DB zu lesen
        Me.username = Membership.GetUser().ToString
        If Not IsPostBack Then

            'Table Adapter der die Verbindung zur Tabelle User_Informations herstellt 
            Dim myOwnProfileAdapter As New DataSet1TableAdapters.User_InformationsTableAdapter()

             ....
 
            'Füllen der Textbox mit der  Email
            tbProfileEmail.Text = myOwnProfileAdapter.GetEmailByUsername(Me.username)
            Me.lbProfileEmail.DataBind()

        End If
    End Sub
 

Neue Beiträge