Using System;
Using System. Web. UI;
Using System. Web. UI. webcontrols;
Using System. componentmodel;
Namespace Csmathcontrol
{
/// <Summary>
/// Obtain data from the client
/// </Summary>
[Defaultproperty ( " Text " ),
Toolboxdata ( " <{0}: renderpostbacktext runat = Server> </{0}: renderpostbacktext> " )]
[Defaultevent ( " Change " )]
Public Class Renderpostbacktext: system. Web. UI. webcontrols. webcontrol, ipostbackdatahandler
{
[Bindable ( True ),
Category ( " Appearance " ),
Defaultvalue ( "" )]
Public String Text
{
Get
{
If (Viewstate [ " Text " ] ! = Null )
Return Viewstate [ " Text " ]. Tostring ();
Else
Return Null ;
}
Set
{
Viewstate [ " Text " ] = Value;
}
}
/// <Summary>
/// This control is displayed to the specified output parameter.
/// </Summary>
/// <Param name = "output"> HTML writer to write </Param>
Protected Override Void Render (htmltextwriter output)
{
// Output. Write (text );
Output. addattribute ( " Value " , This . Text );
Output. addattribute ( " Name " , This . Uniqueid ); // [2] This attribute must be defined to allow data delivery.
Output. renderbegintag ( " Input " );
Output. renderendtag ();
}
Public Event Eventhandler change;
Protected Virtual Void Onchange (eventargs E)
{
If (Change ! = Null )
Change ( This , E );
}
# Region Ipostbackdatahandler Member
Public VoidRaisepostdatachangedevent ()
{
//Todo: Add renderpostbacktext. raisepostdatachangedevent implementation
Onchange (eventargs. Empty );
}
Public Bool Loadpostdata ( String Postdatakey, system. Collections. Specialized. namevaluecollection postcollection)
{
// Todo: Add renderpostbacktext. loadpostdata implementation
// Return false;
// If you need to update text attributes
If ( This . Text ! = Postcollection [postdatakey])
{
This . Text = Postcollection [postdatakey];
// If true is returned, the preceding raisepostdatachangeevent will be called.
Return True ;
}
Else
Return False;
}
# Endregion
}
}