
When switched on, this runs the handler a second time, submitting the results to a validator at w3.org. This is something to bear in mind, particularly for code that must only run once, such as handling credit card payments.
ASP.NET MVC, SQL, Visual Studio, C#, Azure

<style type="text/css">
@media print
{
.noprint
{
display: none;
}
}
</style>
<div class="noprint" style="background-color: #eeeeee;
border: solid 1px black; padding: 10px 10px 10px 10px;">
<p>
You are viewing a print-friendly version
of a page.</p>
<p>
<script type="text/javascript">
var str = "Print this page";
document.write(
str.link("javascript:window.print()"));
</script>
</p>
<noscript>
<p>
Please select print from your browser’s
menu to print the page</p>
</noscript>
<p>
or <a href="/path/file.htm">
return to the normal on-screen view of the page
</a>
</p>
</div>
<xsl:template name="DisplayPhoneNumber">
<xsl:param name="position" />
<xsl:param name="phonenumber" />
<xsl:variable name="digit"
select="substring($phonenumber, $position, 1)" />
<xsl:choose>
<xsl:when test="contains('012345678', $digit)">
<span>
<xsl:value-of select="$digit" />
</span>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$digit" />
</xsl:otherwise>
</xsl:choose>
<xsl:if test="$position <
string-length($phonenumber)">
<xsl:call-template name="DisplayPhoneNumber">
<xsl:with-param name="position">
<xsl:value-of select="$position+1" />
</xsl:with-param>
<xsl:with-param name="phonenumber"
select="$phonenumber" />
</xsl:call-template>
</xsl:if>
</xsl:template>
<xsl:call-template name="DisplayPhoneNumber">
<xsl:with-param name="position" select="'1'" />
<xsl:with-param name="phonenumber"
select="'(01234) 567890'" />
</xsl:call-template>
<xsl:call-template name="DisplayPhoneNumber">
<xsl:with-param name="position" select="'1'" />
<xsl:with-param name="phonenumber"
select="sc:fld('phone', .)" />
</xsl:call-template>
| Title | Command | Arguments | Notes |
|---|---|---|---|
| Run test | (full path to nunit.exe) | $(ItemPath) | |
| Reflector | (full path to reflector.exe) | $(ItemPath) | |
| FxCop | (full path to fxcop.exe) | $(TargetPath) | |
| Explorer | (full path to explorer.exe) | /e, /select, $(ItemPath) | |
| Open in Notepad | (full path to notepad.exe) | $(ItemPath) | |
| Open | (full path to a batch file containing just "%1") | $(ItemPath) | |
| Error Lookup | (errlook.exe, in VS\Common\Tools folder) | (none) | Not sure where this one came from; installed by default? |
| Spy++ | (spyxx.exe, in VS\Common\Tools folder) | (none) | Installed by default |