Solved

How to update a dropdown when a text field is updated automatically

Posted on 2008-10-31
4
155 Views
Last Modified: 2013-12-17
I have a file selector that when a file is selected a text box is populated.  When that text box is updated through code I need a dropdown populated.  My question is how can I get the code to know when a text field is updated?  I have tried TextBox1_TextChanged but that only triggers if I manually update the text field.
0
Comment
Question by:tmctogo
  • 3
4 Comments
 
LVL 13

Expert Comment

by:numberkruncher
Comment Utility
You can set the "AutoPostBack" property of the text box control to "True" and it will automatically generate a post back when the text is changed.

If you need a custom JavaScript postback, then you get an event reference via the Page.ClientScript object.
0
 

Author Comment

by:tmctogo
Comment Utility
I already have AutoPostBack set to true.  The only time that the process for populating the dropdown is started is when I change the text in the field manually.  Since I am using a fileupload control, it does not have postbacks so I populate a text box with the value from the fileupload control.
0
 
LVL 13

Expert Comment

by:numberkruncher
Comment Utility
Okay, so it sounds like you need a custom post back. Give me a few minutes and I will post you an example which allows you to do this.
0
 
LVL 13

Accepted Solution

by:
numberkruncher earned 125 total points
Comment Utility
First an explanation of how the code below works:

A custom post back event has been registered via the ClientScript object. The post back is registered for the page itself. But in-order to be able to respond to this post back you must implement the 'IPostBackEventHandler' interface. Your special server-side post back code goes in the method provided there.

In the example I have demonstrated how to access the text box value.
In the HTML section of the website:
 

    <script type="text/javascript">

        function myTestFunction() {

            // Simply call the following function to do postback.

            firePostback('MyTextChanged');

        }

    </script>
 

I used the following to test this:
 

    <input type="button" value="Test" onclick="myTestFunction()" />
 

In your code file:
 
 

public partial class Default5 : System.Web.UI.Page, IPostBackEventHandler

{

    protected void Page_Load(object sender, EventArgs e)

    {

        // Register the event reference.

        // "@XXX@" gets replaced with the name attribute of firePostback.

        //      i.e. firePosback('boo')   replaces "@XXX@" with "boo".

        string customEventReference = ClientScript.GetPostBackEventReference(this, "@XXX@");

        // Register the post back function.

        ClientScript.RegisterClientScriptBlock(GetType(), "DoTextChanged",

            string.Format("function firePostback(name) {{ eval(\"{0}\".replace('@XXX@', name)); }}", customEventReference), true);

    }
 
 

    #region IPostBackEventHandler Members
 

    public void RaisePostBackEvent(string eventArgument)

    {

        // Check for the argument which was provided to our post back function.

        if (eventArgument == "MyTextChanged")

        {

            string textBoxValue = TextBox1.Text;

        }

    }
 

    #endregion

}

Open in new window

0

Featured Post

Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

Join & Write a Comment

Accessibility and Usability are two concepts that seem to be closely related.  But, too many people seem to have a distorted perception of them. During last five years, those two words have come to the day-to-day work of almost every web develope…
Envision that you are chipping away at another e-business site with a team of pundit developers and designers. Everything seems, by all accounts, to be going easily.
The viewer will learn how to dynamically set the form action using jQuery.
Any person in technology especially those working for big companies should at least know about the basics of web accessibility. Believe it or not there are even laws in place that require businesses to provide such means for the disabled and aging p…

763 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

9 Experts available now in Live!

Get 1:1 Help Now