J
John Rivers
Here is an example of what I am talking about:
asp.net takes what is a very simple, powerful and flexible
concept, http request/response with html for presentation
and turns it into a ridiculously over-complicated kludge
which causes way more problems than it solves by attempting
to turn it into a flat, "event-driven" paradigm
for example:
here is an html image tag
<img src="Image.gif"/>
it has a few extra attributes such as height, width, border
now look at the asp.net documentation for the SAME element (below)
it is never ending
if you look in these asp.net newsgroups you will actually
see people asking questions like "how do i set the src property
of an HtmlImage object?" with asp.net
and then long descriptions of property accesses
and "watch outs" "don't do it at the wrong time"
"make sure you ..."
APIs are meant to be there to wrap up complex code and
make it simple to handle
this is a REVERSE API it takes something as simple as
an <img/> tag and turns it into something complicated
which wastes peoples time and energy for no benefit whatsoever.
"DataBinding" - piffle - stupid declarative, inflexible rubbish
"UserControls" - flat pointless, inflexible re-invention of a method
with a codeblock (it can't even callback to the containing
page without a big headache)
"CustomControls" - great! we can create our own pointless aberrations -
oh yes one render method per class only!
i understand that in asp.net 2.0 microsoft has deemed us worthy
of "master pages" - oh my god - i've been doing that already
since aspv1.0 its called an asp include page with codeblocks and
callbacks
just who is this written for?
if you can't query a database and write out some html strings
what can you do?
"viewstate" - oh yes i really needed help with that - not!
C# is fantastic
..NET Framework rocks
what happened to ASP.NET?
it could have been really good
instead its a bad joke foisted on
us professionals by dumbo muppets
.NET Framework Class Library
HtmlImage MembersSee Also
HtmlImage Class | System.Web.UI.HtmlControls Namespace | Web Namespaces
in Visual Studio | Managed Extensions for C++ Programming
HtmlImage overview
Public Constructors
HtmlImage Constructor Initializes a new instance of the HtmlImage
class.
Public Properties
Align Gets or sets the alignment of the image relative to other Web
page elements.
Alt Gets or sets the alternative caption the browser displays if an
image is unavailable or currently downloading and not yet finished.
Attributes (inherited from HtmlControl) Gets a collection of all
attribute name and value pairs expressed on a server control tag within
the .aspx file.
Border Gets or sets the width of a frame for an image.
ClientID (inherited from Control) Gets the server control identifier
generated by ASP.NET.
Controls (inherited from Control) Gets a ControlCollection object that
represents the child controls for a specified server control in the UI
hierarchy.
Disabled (inherited from HtmlControl) Gets or sets a value indicating
whether the HTML server control is disabled.
EnableViewState (inherited from Control) Gets or sets a value
indicating whether the server control persists its view state, and the
view state of any child controls it contains, to the requesting client.
Height Gets or sets the height of the image.
ID (inherited from Control) Gets or sets the programmatic identifier
assigned to the server control.
NamingContainer (inherited from Control) Gets a reference to the server
control's naming container, which creates a unique namespace for
differentiating between server controls with the same Control.ID
property value.
Page (inherited from Control) Gets a reference to the Page instance
that contains the server control.
Parent (inherited from Control) Gets a reference to the server
control's parent control in the page control hierarchy.
Site (inherited from Control) Gets information about the Web site to
which the server control belongs.
Src Gets or sets the source of the image file to display.
Style (inherited from HtmlControl) Gets a collection of all cascading
style sheet (CSS) properties applied to a specified HTML server control
in the .aspx file.
TagName (inherited from HtmlControl) Gets the element name of a tag
that contains a runat=server attribute and value pair.
TemplateSourceDirectory (inherited from Control) Gets the virtual
directory of the Page or UserControl that contains the current server
control.
UniqueID (inherited from Control) Gets the unique,
hierarchically-qualified identifier for the server control.
Visible (inherited from Control) Gets or sets a value that indicates
whether a server control is rendered as UI on the page.
Width Gets or sets the width of the image.
Public Methods
DataBind (inherited from Control) Binds a data source to the invoked
server control and all its child controls.
Dispose (inherited from Control) Enables a server control to perform
final clean up before it is released from memory.
Equals (inherited from Object) Overloaded. Determines whether two
Object instances are equal.
FindControl (inherited from Control) Overloaded. Searches the current
naming container for the specified server control.
GetHashCode (inherited from Object) Serves as a hash function for a
particular type, suitable for use in hashing algorithms and data
structures like a hash table.
GetType (inherited from Object) Gets the Type of the current instance.
HasControls (inherited from Control) Determines if the server control
contains any child controls.
RenderControl (inherited from Control) Outputs server control content
to a provided HtmlTextWriter object and stores tracing information
about the control if tracing is enabled.
ResolveUrl (inherited from Control) Converts a URL into one that is
usable on the requesting client.
ToString (inherited from Object) Returns a String that represents the
current Object.
Public Events
DataBinding (inherited from Control) Occurs when the server control
binds to a data source.
Disposed (inherited from Control) Occurs when a server control is
released from memory, which is the last stage of the server control
lifecycle when an ASP.NET page is requested.
Init (inherited from Control) Occurs when the server control is
initialized, which is the first step in the its lifecycle.
Load (inherited from Control) Occurs when the server control is loaded
into the Page object.
PreRender (inherited from Control) Occurs when the server control is
about to render to its containing Page object.
Unload (inherited from Control) Occurs when the server control is
unloaded from memory.
Protected Properties
ChildControlsCreated (inherited from Control) Gets a value that
indicates whether the server control's child controls have been
created.
Context (inherited from Control) Gets the HttpContext object associated
with the server control for the current Web request.
Events (inherited from Control) Gets a list of event handler delegates
for the control. This property is read-only.
HasChildViewState (inherited from Control) Gets a value indicating
whether the current server control's child controls have any saved
view-state settings.
IsTrackingViewState (inherited from Control) Gets a value that
indicates whether the server control is saving changes to its view
state.
ViewState (inherited from Control) Gets a dictionary of state
information that allows you to save and restore the view state of a
server control across multiple requests for the same page.
ViewStateIgnoresCase (inherited from Control) Gets a value that
indicates whether the StateBag object is case-insensitive.
Protected Methods
AddedControl (inherited from Control) Called after a control is added
to the Controls collection of another control.
AddParsedSubObject (inherited from Control) Notifies the server control
that an element, either XML or HTML, was parsed, and adds the element
to the server control's ControlCollection object.
ClearChildViewState (inherited from Control) Deletes the view-state
information for all the server control's child controls.
CreateChildControls (inherited from Control) Notifies server controls
that use composition-based implementation to create any child controls
they contain in preparation for posting back or rendering.
CreateControlCollection (inherited from Control) Creates a new
ControlCollection object to hold the child controls (both literal and
server) of the server control.
EnsureChildControls (inherited from Control) Determines whether the
server control contains child controls. If it does not, it creates
child controls.
Finalize (inherited from Object) Overridden. Allows an Object to
attempt to free resources and perform other cleanup operations before
the Object is reclaimed by garbage collection.
In C# and C++, finalizers are expressed using destructor syntax.
IsLiteralContent (inherited from Control) Determines if the server
control holds only literal content.
LoadViewState (inherited from Control) Restores view-state information
from a previous page request that was saved by the SaveViewState
method.
MapPathSecure (inherited from Control) Retrieves the physical path that
a virtual path, either absolute or relative, maps to.
MemberwiseClone (inherited from Object) Creates a shallow copy of the
current Object.
OnBubbleEvent (inherited from Control) Determines whether the event for
the server control is passed up the page's UI server control hierarchy.
OnDataBinding (inherited from Control) Raises the DataBinding event.
OnInit (inherited from Control) Raises the Init event.
OnLoad (inherited from Control) Raises the Load event.
OnPreRender (inherited from Control) Raises the PreRender event.
OnUnload (inherited from Control) Raises the Unload event.
Note Server controls should perform any final cleanup, such as
closing files, closing database connections, and discarding objects,
during this stage of the server control lifecycle.
RaiseBubbleEvent (inherited from Control) Assigns any sources of the
event and its information to the control's parent.
RemovedControl (inherited from Control) Called after a control is
removed from the Controls collection of another control.
Render (inherited from Control) Sends server control content to a
provided HtmlTextWriter object, which writes the content to be rendered
on the client.
RenderChildren (inherited from Control) Outputs the content of a server
control's children to a provided HtmlTextWriter object, which writes
the content to be rendered on the client.
SaveViewState (inherited from Control) Saves any server control
view-state changes that have occurred since the time the page was
posted back to the server.
TrackViewState (inherited from Control) Causes tracking of view-state
changes to the server control so they can be stored in the server
control's StateBag object. This object is accessible through the
Control.ViewState property.
See Also
HtmlImage Class | System.Web.UI.HtmlControls Namespace | Web Namespaces
in Visual Studio | Managed Extensions for C++ Programming
Syntax based on .NET Framework version 1.1.
Documentation version 1.1.0.
asp.net takes what is a very simple, powerful and flexible
concept, http request/response with html for presentation
and turns it into a ridiculously over-complicated kludge
which causes way more problems than it solves by attempting
to turn it into a flat, "event-driven" paradigm
for example:
here is an html image tag
<img src="Image.gif"/>
it has a few extra attributes such as height, width, border
now look at the asp.net documentation for the SAME element (below)
it is never ending
if you look in these asp.net newsgroups you will actually
see people asking questions like "how do i set the src property
of an HtmlImage object?" with asp.net
and then long descriptions of property accesses
and "watch outs" "don't do it at the wrong time"
"make sure you ..."
APIs are meant to be there to wrap up complex code and
make it simple to handle
this is a REVERSE API it takes something as simple as
an <img/> tag and turns it into something complicated
which wastes peoples time and energy for no benefit whatsoever.
"DataBinding" - piffle - stupid declarative, inflexible rubbish
"UserControls" - flat pointless, inflexible re-invention of a method
with a codeblock (it can't even callback to the containing
page without a big headache)
"CustomControls" - great! we can create our own pointless aberrations -
oh yes one render method per class only!
i understand that in asp.net 2.0 microsoft has deemed us worthy
of "master pages" - oh my god - i've been doing that already
since aspv1.0 its called an asp include page with codeblocks and
callbacks
just who is this written for?
if you can't query a database and write out some html strings
what can you do?
"viewstate" - oh yes i really needed help with that - not!
C# is fantastic
..NET Framework rocks
what happened to ASP.NET?
it could have been really good
instead its a bad joke foisted on
us professionals by dumbo muppets
.NET Framework Class Library
HtmlImage MembersSee Also
HtmlImage Class | System.Web.UI.HtmlControls Namespace | Web Namespaces
in Visual Studio | Managed Extensions for C++ Programming
HtmlImage overview
Public Constructors
HtmlImage Constructor Initializes a new instance of the HtmlImage
class.
Public Properties
Align Gets or sets the alignment of the image relative to other Web
page elements.
Alt Gets or sets the alternative caption the browser displays if an
image is unavailable or currently downloading and not yet finished.
Attributes (inherited from HtmlControl) Gets a collection of all
attribute name and value pairs expressed on a server control tag within
the .aspx file.
Border Gets or sets the width of a frame for an image.
ClientID (inherited from Control) Gets the server control identifier
generated by ASP.NET.
Controls (inherited from Control) Gets a ControlCollection object that
represents the child controls for a specified server control in the UI
hierarchy.
Disabled (inherited from HtmlControl) Gets or sets a value indicating
whether the HTML server control is disabled.
EnableViewState (inherited from Control) Gets or sets a value
indicating whether the server control persists its view state, and the
view state of any child controls it contains, to the requesting client.
Height Gets or sets the height of the image.
ID (inherited from Control) Gets or sets the programmatic identifier
assigned to the server control.
NamingContainer (inherited from Control) Gets a reference to the server
control's naming container, which creates a unique namespace for
differentiating between server controls with the same Control.ID
property value.
Page (inherited from Control) Gets a reference to the Page instance
that contains the server control.
Parent (inherited from Control) Gets a reference to the server
control's parent control in the page control hierarchy.
Site (inherited from Control) Gets information about the Web site to
which the server control belongs.
Src Gets or sets the source of the image file to display.
Style (inherited from HtmlControl) Gets a collection of all cascading
style sheet (CSS) properties applied to a specified HTML server control
in the .aspx file.
TagName (inherited from HtmlControl) Gets the element name of a tag
that contains a runat=server attribute and value pair.
TemplateSourceDirectory (inherited from Control) Gets the virtual
directory of the Page or UserControl that contains the current server
control.
UniqueID (inherited from Control) Gets the unique,
hierarchically-qualified identifier for the server control.
Visible (inherited from Control) Gets or sets a value that indicates
whether a server control is rendered as UI on the page.
Width Gets or sets the width of the image.
Public Methods
DataBind (inherited from Control) Binds a data source to the invoked
server control and all its child controls.
Dispose (inherited from Control) Enables a server control to perform
final clean up before it is released from memory.
Equals (inherited from Object) Overloaded. Determines whether two
Object instances are equal.
FindControl (inherited from Control) Overloaded. Searches the current
naming container for the specified server control.
GetHashCode (inherited from Object) Serves as a hash function for a
particular type, suitable for use in hashing algorithms and data
structures like a hash table.
GetType (inherited from Object) Gets the Type of the current instance.
HasControls (inherited from Control) Determines if the server control
contains any child controls.
RenderControl (inherited from Control) Outputs server control content
to a provided HtmlTextWriter object and stores tracing information
about the control if tracing is enabled.
ResolveUrl (inherited from Control) Converts a URL into one that is
usable on the requesting client.
ToString (inherited from Object) Returns a String that represents the
current Object.
Public Events
DataBinding (inherited from Control) Occurs when the server control
binds to a data source.
Disposed (inherited from Control) Occurs when a server control is
released from memory, which is the last stage of the server control
lifecycle when an ASP.NET page is requested.
Init (inherited from Control) Occurs when the server control is
initialized, which is the first step in the its lifecycle.
Load (inherited from Control) Occurs when the server control is loaded
into the Page object.
PreRender (inherited from Control) Occurs when the server control is
about to render to its containing Page object.
Unload (inherited from Control) Occurs when the server control is
unloaded from memory.
Protected Properties
ChildControlsCreated (inherited from Control) Gets a value that
indicates whether the server control's child controls have been
created.
Context (inherited from Control) Gets the HttpContext object associated
with the server control for the current Web request.
Events (inherited from Control) Gets a list of event handler delegates
for the control. This property is read-only.
HasChildViewState (inherited from Control) Gets a value indicating
whether the current server control's child controls have any saved
view-state settings.
IsTrackingViewState (inherited from Control) Gets a value that
indicates whether the server control is saving changes to its view
state.
ViewState (inherited from Control) Gets a dictionary of state
information that allows you to save and restore the view state of a
server control across multiple requests for the same page.
ViewStateIgnoresCase (inherited from Control) Gets a value that
indicates whether the StateBag object is case-insensitive.
Protected Methods
AddedControl (inherited from Control) Called after a control is added
to the Controls collection of another control.
AddParsedSubObject (inherited from Control) Notifies the server control
that an element, either XML or HTML, was parsed, and adds the element
to the server control's ControlCollection object.
ClearChildViewState (inherited from Control) Deletes the view-state
information for all the server control's child controls.
CreateChildControls (inherited from Control) Notifies server controls
that use composition-based implementation to create any child controls
they contain in preparation for posting back or rendering.
CreateControlCollection (inherited from Control) Creates a new
ControlCollection object to hold the child controls (both literal and
server) of the server control.
EnsureChildControls (inherited from Control) Determines whether the
server control contains child controls. If it does not, it creates
child controls.
Finalize (inherited from Object) Overridden. Allows an Object to
attempt to free resources and perform other cleanup operations before
the Object is reclaimed by garbage collection.
In C# and C++, finalizers are expressed using destructor syntax.
IsLiteralContent (inherited from Control) Determines if the server
control holds only literal content.
LoadViewState (inherited from Control) Restores view-state information
from a previous page request that was saved by the SaveViewState
method.
MapPathSecure (inherited from Control) Retrieves the physical path that
a virtual path, either absolute or relative, maps to.
MemberwiseClone (inherited from Object) Creates a shallow copy of the
current Object.
OnBubbleEvent (inherited from Control) Determines whether the event for
the server control is passed up the page's UI server control hierarchy.
OnDataBinding (inherited from Control) Raises the DataBinding event.
OnInit (inherited from Control) Raises the Init event.
OnLoad (inherited from Control) Raises the Load event.
OnPreRender (inherited from Control) Raises the PreRender event.
OnUnload (inherited from Control) Raises the Unload event.
Note Server controls should perform any final cleanup, such as
closing files, closing database connections, and discarding objects,
during this stage of the server control lifecycle.
RaiseBubbleEvent (inherited from Control) Assigns any sources of the
event and its information to the control's parent.
RemovedControl (inherited from Control) Called after a control is
removed from the Controls collection of another control.
Render (inherited from Control) Sends server control content to a
provided HtmlTextWriter object, which writes the content to be rendered
on the client.
RenderChildren (inherited from Control) Outputs the content of a server
control's children to a provided HtmlTextWriter object, which writes
the content to be rendered on the client.
SaveViewState (inherited from Control) Saves any server control
view-state changes that have occurred since the time the page was
posted back to the server.
TrackViewState (inherited from Control) Causes tracking of view-state
changes to the server control so they can be stored in the server
control's StateBag object. This object is accessible through the
Control.ViewState property.
See Also
HtmlImage Class | System.Web.UI.HtmlControls Namespace | Web Namespaces
in Visual Studio | Managed Extensions for C++ Programming
Syntax based on .NET Framework version 1.1.
Documentation version 1.1.0.