Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > ASP .Net > ASP .Net Building Controls > Executing code that is part of a control after it gets posted back from the form in the users browser.

Reply
Thread Tools

Executing code that is part of a control after it gets posted back from the form in the users browser.

 
 
Eric B
Guest
Posts: n/a
 
      08-27-2003
Hello dear .NET'rs,

I have made a simple RememberingTextBox control which looks in the session for
a
session variable with the same name as the id/name of the textbox.
When it finds a value in the session it will use this as the
RememberingTextBox's value.


I base my class on 'System.Web.UI.WebControls.TextBox'.
public class RememberingTextBox : System.Web.UI.WebControls.TextBox

I override the 'AddAttributesToRender' method to write the value attribute if
it is found in the session.
So each textbox looks in the session for the value it should use.

protected override void AddAttributesToRender(HtmlTextWriter writer)
{
string strValue = "";
if (_remember == "true")
{
if (Page.Session[ID] != null) strValue = Page.Session[ID].ToString();
}
writer.AddAttribute("value", strValue );
writer.AddAttribute("remember", _remember);
base.AddAttributesToRender(writer);
}

That is working like i want it to work.
So far so good..

However.. when the form that contains the RememberingTextBox get's post back i
am now putting the values into the session with a single function.
That will also store normal textboxesvalues and that is not nescessary.
The segment that stores it into the session looks like:

IEnumerator enumKeys = currentPage.Request.Form.Keys.GetEnumerator();
while(enumKeys.MoveNext())
{
if (enumKeys.Current.ToString().IndexOf("txt",0,3) >= 0 ||
enumKeys.Current.ToString().IndexOf("rb",0,2) >= 0 )
{
currentPage.Session.Add (enumKeys.Current.ToString(),
currentPage.Request.Form.GetValues( enumKeys.Current.ToString() ) [0].ToString
() );
}
}


As you see this just puts all (Providing the control name has 'rb' or 'txt' at
the start) control values into the session.
But i would like this process/code to be part of my control.
So the retrieval and storing of values is done automatically and a developper
should only have to put a control on the page to get the functionality.
I do not want them to explicitly call a method to store the form's values in
the session for later use.

I want to add some code, that is part of the control, to do the storing of the
value into the session.



I guess basically my question is;
Can i add code and if so how to a control that get's run serverside AFTER the
control get's
posted back from a browser-form?
There must be some way because the 'Validator' controls muct work like that
somehow.


I hope this is clear.

Kind Regards, Eric B.

 
Reply With Quote
 
 
 
 
Eric B
Guest
Posts: n/a
 
      09-02-2003

That override worked FINE Ionita.
Thanks for that tip!

>> I guess basically my question is;
>> Can i add code and if so how to a control that get's run serverside AFTER

>the
>> control get's
>> posted back from a browser-form?
>> There must be some way because the 'Validator' controls muct work like

>that
>> somehow.

>
>You can use any event that occurs after the post back data gets processed,
>for
>example the Load even (see "Control Execution Lifecycle in MSDN for more
>details).
>
>For your task you can override the OnTextChanged() method (because you're
>interested
>only in data changes) like this:
>
>protected override void OnTextChanged(EventArgs e)
>{
> Page.Session[ID] = Text;
> base.OnTextChanged (e);
>}


 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
problem in running a basic code in python 3.3.0 that includes HTML file Satabdi Mukherjee Python 1 04-04-2013 07:48 PM
Return of gets gets John Joyce Ruby 0 04-23-2007 01:38 PM
gets gets John Joyce Ruby 2 03-26-2007 04:00 PM
Not only the selected HREF gets surrounded, but the whole row gets surrounded Stefan Mueller HTML 5 07-10-2006 11:53 AM
Executing code that is part of a control after it gets posted back from the form in the users browser. Eric B ASP .Net Web Controls 1 09-02-2003 02:53 PM



Advertisments