ASP.NET supports a little known feature called “server-side
comments” that you can use to completely disable code/controls/html in a page.
Server-side comments in ASP.NET are delimited using a <%-- --%> syntax.
Commented out HTML/CODE/Markup. Anything with
this block will not be parsed/handled by ASP.NET.
<%# Eval(“SomeProperty”) %>
One common question people ask is what the difference is
between using client-side HTML comments and server-side comments. The key
difference is that with client-side comments it is the browser which is
ignoring the content within them. Code/controls within client-side comments
will still be executed on the server and sent down to the browser. As such, if
there is a server error caused within them it will block running the page.
With server-side comments, the ASP.NET compiler ignores
everything within these blocks at parse/compile time, and removes the content
completely when assembling the page (like its contents weren’t there at all).
Consequently, any errors caused by mal-formed controls or issues with inline
code or data-binding expressions within them will be ignored. The page is also
just as fast with controls/code within server-side comments as if there were no
controls/code on the page at all (there is no runtime performance overhead to
One tip/trick to take advantage of in the HTML source editor
Web Developer and VS 2005 is the automatic comment/uncomment
feature they support. You can use this by selecting some markup within a
.aspx page, and then clicking the “comment” command button that is on HTML
Source Editor Toolbar:
This will automatically wrap the selected
content with a <%-- --%> block. You can likewise move the cursor within
it and click the uncomment command to remove the comment. Keyboard short-cuts
are also automatically enabled to do this purely from the keyboard. The exact
keystrokes depend on what VS profile you have configured – but on my system it
is “Ctrl-K, Ctrl-C” to comment a block and “Ctrl-K, Ctrl-U” to uncomment one.
Note that this comment/uncomment command in VS
works not only in HTML – but also within regular VB/C# source files as
well. It provides an easy and consistent way to comment out functionality
everywhere within your project.
Hope this helps,