Announcement

Collapse
No announcement yet.

Values aus einen ASP-Control (txtBox) an eine Public Property einer Klasse übergeben.

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Values aus einen ASP-Control (txtBox) an eine Public Property einer Klasse übergeben.

    Hallo @All,

    ich schlage mich mit einem etwas seltsamen Problem rum und finde keinen Ansatz für die Lösung:

    Ich habe eine Klasse in meinem Project unter "App_Code":

    Code:
    Public Class clsQuotation
     
        Friend cBasicFunction As New clsBasicFunctions
        Friend cArticle As New clsArticles
     
    #Region "Declarations"
     
    '---Begin Quotation Header Table---'
     
    ...
     
    Public _iQuotDestination As Integer
     
    ...    '---End Quotation Details Table---'
     
    #End Region
     
    #Region "PropertyDeclaration Quots"
     
        Public Property iQuot_Destination() As Integer
            Get
                Return _iQuotDestination
            End Get
            Set(ByVal value As Integer)
                _iQuotDestination = value
            End Set
        End Property
     
        ...
    Dieser Public Property iQuot_Destination möchte ich nun aus einer Textbox bei einem Event aus dem Codebehind-File den Wert übergeben:

    Code:
    Protected Sub btnStep2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnStep2.Click
     
    Dim dNow As Date = Date.Now.Date
        With Me
            ...
            cQuot._iQuotDestination = .txtDestination.Text
      
            If Not IsNumeric(.txtDestination.Text) Then
                .txtDestination.Text = ""
                .txtDestination.Focus()
                .txtDestination.BackColor = Drawing.Color.Red
                .lblWarning.Visible = True
                Exit Sub
            Else
                .txtDestination.BackColor = Drawing.Color.White
            End If
            ...
        End With
     
    End Sub
    Die Klasse habe ich wie folgt im Code-File refernziert:

    Code:
    Public cQuot As New clsQuotation
    Wenn nun der ganze "Quark" durchläuft, stelle ich an einer anderen Stelle, wo ich diesen Wert wieder aus der Klasse holen will, dass dieser "Nothing" ist. Nun habe ich die Zeile "cQuot._iQuotDestination=.txtDestination.text" zur Überwachung hinzugefügt und bekomme dort folgende Meldung:

    _iQuotDestination "_iQuotDestination" wurde nicht deklariert. Auf das Objekt kann aufgrund seiner Schutzstufe möglicherweise nicht zugegriffen werden.

    Kann mir da jemand weiter helfen? Habe keinen Ansatz mehr...

    Danke im Voraus
    Wer etwas WILL sucht Wege! Wer etwas NICHT will, sucht GRÜNDE!

  • #2
    Felder niemals public machen.

    Also:

    Code:
    Public _iQuotDestination As Integer -> Private _iQuotDestination As Integer
    stattdessen die Property verwenden:

    Code:
    cQuot.iQuot_Destination= .txtDestination.Text
    Ich hoffe das behebt das Problem. Ansonsten ist es mir leider nicht ersichtlich wie es zu dem Problem kommt.

    Das

    Code:
    Public cQuot As New clsQuotation
    steht im CodeBehind Deiner Seite, oder?

    Comment


    • #3
      Hi fanderlf,

      danke für die Tipps, ich werd's heute abend mal so umbauen und melde mich dann wieder.

      Zu Deiner Frage: ja, die Declaration steht im CodeBehind, also in der *.aspx.vb.

      Beste Grüße

      René (Grizzly)
      Wer etwas WILL sucht Wege! Wer etwas NICHT will, sucht GRÜNDE!

      Comment


      • #4
        Hi fanderlf,
        Dein Tipp war schon mal ganz gut, auch wenn es danach nicht addhoc funktionierte. Ich habe mir darauf hin noch mal den Code angeschaut und es viel mir wie Schuppen von den Augen:
        Ich habe die Properties vergessen in der CodeBehind zu instanziieren *lol*, deshalb waren die Variablen "gesperrt" ;-)

        Danke und Gruß...
        Wer etwas WILL sucht Wege! Wer etwas NICHT will, sucht GRÜNDE!

        Comment

        Working...
        X