<p>I am refactoring some CSS on a website. I have been working on, and noticed the absence of traditional HTML IDs in the code. </p>

<p>There is heavy use of <code>CssClass='&amp;hellip;'</code>, or sometimes just <code>class='&amp;hellip;'</code>, but I can't seem to find a way to say id='&hellip;' and not have it swapped out by the server.</p>

<p>Here is an example:</p>

<pre><code>&lt;span id='position_title' runat='server'&gt;Manager&lt;/span&gt;
</code></pre>

<p>When the response comes back from the server, I get:</p>

<pre><code>&lt;span id='$aspnet$crap$here$position_title'&gt;Manager&lt;/span&gt;</code></pre>

<p>Any help here?</p>

.Net will always replace your id values with some mangled (every so slightly predictable, but still don't count on it) value.  Do you really NEED to have that id runat=server?  If you don't put in runat=server, then it won't mangle it...
ADDED:
Like leddt said, you can reference the span (or any runat=server with an id) by using ClientID, but I don't think that works in CSS.
But I think that you have a larger problem if your CSS is using ID based selectors. You can't re-use an ID. You can't have multiple items on the same page with the same ID. .Net will complain about that.
So, with that in mind, is your job of refactoring the CSS getting to be a bit larger in scope?