How can I pass arguments on a ContentPlaceHolder?
<p>Ok, so here is the setup. I have a master page. The page is assigned to a aspx file programatically in the PreInit function. This all works as expected.</p>

<p>I have a function that runs through all the controls on the page an looks for ContentPlaceHolder controls with specific IDs. When a specific ID is found the control is processed (specific content is placed there based on the ID and other information). This all works as expected.</p>

<p>I have a situation where I would like to pass information to my processor function from the control. I would like to be able to, based on an attribute, do different things. For example I would like to be able to put something like this on the masterpage:</p>

<pre><code>&lt;asp:ContentPlaceHolder id="CMS_EXTRABLOCK1" type="text" runat="server"&gt;&lt;/asp:ContentPlaceHolder&gt;
</code></pre>

<p>Note that the type="text" attribute is not a standard attribute. I would like to be able to in the c# code do something like where ctrl is the ContentPlaceHolder.</p>

<pre><code>if (ctrl.Attributes["type"] == "text") {} else {}
</code></pre>

<p>Now none of that will work as I get a parse error with the added attribute. So is there a way around the problem while still using the ContentPlaceHolder control? If at all possible I would like to continue using the ContentPlaceHolder control type for consistency with the rest of the code. If I can't use the ContentPlaceHolder in any manner then what would be an equally ideal asp control for this type of situation? </p>
