Since XHTML is an XML application, certain characters are not allowed because they have special meaning in XHTML. This means that dynamic querystrings generate errors.
That means that the following HTML will pop up an error in a validator:
<a href="http://www.codecube.net/item.asp?cc_ItemID=114 itemName=value">link</a>
instead, you've got to have this
<a href="http://www.codecube.net/item.asp?cc_ItemID%3d114%26itemName%3dvalue ">link</a>
horrified at the thought of having to learn how to code that syntax, I whipped up a little utility that does it for me. That can be seen here. Just pop in any url with a dynamic querystring, and it will make it xhtml compliant for you. And just out of good will, here's the function that transforms it:
protected void submit_click(Object ob, EventArgs E)
{
try {
string[] src = url.Text.Split(Convert.ToChar("?"));
result.Text = Server.HtmlEncode(src[0] + "?" + Server.UrlEncode(src[1]));
} catch {
result.Text = "";
}
}