views:

2184

answers:

3

I am creating a user control in ASP.NET (using VB) that uses the autocomplete ajax control on a textbox to get a value. Then I want the page to post back and run some code according to whatever value is passed to it from this control. Problem is, I'm not exactly sure how to do this. I'm sure it's easy and I should know, but I don't.

Thanks in advance!

A: 

((NameOfPage)this.Page).VariableOnPage = this.Foobar;

Dested
It is generally bad practice to couple controls to the page in this way as it tends to be quite fragile.
Andrew Hare
+6  A: 

In your user control expose a property for the value

Public Property SomeValue() As String
Get
    Return textbox1.Text
End Get
End Property

Then in your aspx page load, just reference the user control's value.

userControl1.SomeValue

Edit, I just tried changing my syntax to vb.net, I don't actually know vb, so that syntax may or may not be right.

Bob
A: 

In the code-behind on your user-control expose a property e.g.

public TextBox UserControlTextBox
{
    return this.TextBoxInstance;
}

Then from you page just call

UserControlInstance.UserControlTextBox.Text;
Nick Allen - Tungle139