User Control question

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Brian Cesafsky

    #1

    User Control question

    I am using framework 1.1

    I have a user control and a web page.

    I want to set up properties on the user control, so I can access the text
    boxes on the user control when I am in the code behind page of the 'main'
    web page.

    I have done this so far...


    1) On the user control... in the #Region " Web Form Designer Generated Code
    " I have 2 text boxes (for simplicity of this question). If I am on the
    main web page and I want to access the text boxes on the user control, I
    have to change the defenition of the text box from Protected WithEvents to
    Protected Shared WithEvents. Then I create the property like this in the
    user control...

    Public Class AccountCenterGe neral
    Inherits System.Web.UI.U serControl

    #Region " Web Form Designer Generated Code "
    'This call is required by the Web Form Designer.
    <System.Diagnos tics.DebuggerSt epThrough()> Private Sub InitializeCompo nent()
    End Sub

    Protected Shared WithEvents txtSalesTaxPerc ent As
    System.Web.UI.W ebControls.Text Box
    Protected WithEvents txtNotes As System.Web.UI.W ebControls.Text Box
    #End Region

    Public Property Notes() As String
    Get
    Return txtNotes.Text
    End Get

    Set(ByVal Value As String)
    txtNotes.Text = Value
    End Set
    End Property



    2) In the main web page, I can then code this to access the text box

    dim tempString as string
    tempString = AccountCenterGe neral.Notes (AccountCenterG eneral is the
    name of my class in the user control)



    THE PROBLEM... often times, if I make a change to the user control, ALL of
    my definitions for the controls get changed back to Protected WithEvents
    automatically and I have to reset them to Protected Shared WithEvents. So
    I'm wondering if I am doing this all wrong, or if I should go back to using
    this type of code... (can anyone explain which way is better)?



    dim tempString as string
    Dim currentTextBox As TextBox
    currentTextBox =
    Page.FindContro l("AccountCente rGeneral1").Fin dControl("txtIn terestRate")
    tempString = currentTextBox. Text



    Thanks in advance! Brian









Working...