|
code
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
User Control question - REPOSTEDI 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 AccountCenterGeneral Inherits System.Web.UI.UserControl #Region " Web Form Designer Generated Code " 'This call is required by the Web Form Designer. <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() End Sub Protected Shared WithEvents txtSalesTaxPercent As System.Web.UI.WebControls.TextBox Protected WithEvents txtNotes As System.Web.UI.WebControls.TextBox #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 = AccountCenterGeneral.Notes (AccountCenterGeneral 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.FindControl("AccountCenterGeneral1").FindControl("txtInterestRate") tempString = currentTextBox.Text Thanks in advance! Brian Brian,
You should add a property to your code behind file and have the property act as a proxy for the information you want to expose. For instance, Public Property Get TheFirstTextBox( ) As TextBox Return Me.TextBox1 End Property Then, you should be able to access the property through your code on the page. Cheers, Kelly Show quoteHide quote "Brian Cesafsky" wrote: > 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 AccountCenterGeneral > Inherits System.Web.UI.UserControl > > #Region " Web Form Designer Generated Code " > 'This call is required by the Web Form Designer. > <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() > End Sub > > Protected Shared WithEvents txtSalesTaxPercent As > System.Web.UI.WebControls.TextBox > Protected WithEvents txtNotes As System.Web.UI.WebControls.TextBox > #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 = AccountCenterGeneral.Notes (AccountCenterGeneral 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.FindControl("AccountCenterGeneral1").FindControl("txtInterestRate") > tempString = currentTextBox.Text > > > > Thanks in advance! Brian > > >
Other interesting topics
Failed to load viewstate
Push Button Event in datagrid Web Standards Compliance - Autopostback / Javascript off Automatic <%@Register of Web User Controls in a Project? Disabling certain url's in a menu? Using hyperlink control for downloading "Unable to open the physical file" error Creating Dynamic FormView Templates html controls with same ID How do I put bitmaps/images in front of another bitmap? |
|||||||||||||||||||||||