First off, I appreciate the efforts of the team in making the CSS adapters!
I was glad to see that membership controls were added to the latest beta release. However, I did notice that all of them (with one exception) still put a TABLE wrapper around the content when using a templated control. It happens on the Login and PasswordRecovery
controls, which generate output like this:
<div class="AspNet-Login"><table id="ctl00_content_LoginForm" cellspacing="0"
cellpadding="0" border="0" style="border-collapse:collapse;">
<tr>
<td>
<!-- actual content from LayoutTemplate here -->
</td>
</tr>
</table>
</div>
Although I like the effort of the table-less designs, I prefer forms that use tags like FIELDSET and LEGEND, and that can be designed to more closely mirror the other forms on my sites, hence my desire to use templates. Why do the Login and PasswordRecovery
controls continue to add the TABLE wrapper? It seems it something more internal to the .Net Framework that the current CSS adapters aren't filtering out, because there are definitely no TABLE tags being created by the adapters.
Ironically, the CreateUserWizard did not add a table wrapper around the CreateUserWizardStep -- but it did add it around the CompleteWizardStep.
I did some stepping through of code and stack traces to see if I could find anything different; the only thing of interest was that the CreateUserWizard called the CreateChildControls method during the Init phase, whereas the Login and PasswordRecovery called
it during the PreRender phase (apparently the Wizard class does this via EnsureChildControls). Does't explain why the TABLE is around the Completed step and not the Create step.
Is there something I'm missing, or am I looking for functionality (i.e. no TABLEs around templated controls) that isn't here yet?
bdemarzo
Member
435 Points
168 Posts
Tables still appear in (some) templated membership controls
Sep 14, 2006 10:27 PM|LINK
I was glad to see that membership controls were added to the latest beta release. However, I did notice that all of them (with one exception) still put a TABLE wrapper around the content when using a templated control. It happens on the Login and PasswordRecovery controls, which generate output like this:
Although I like the effort of the table-less designs, I prefer forms that use tags like FIELDSET and LEGEND, and that can be designed to more closely mirror the other forms on my sites, hence my desire to use templates. Why do the Login and PasswordRecovery controls continue to add the TABLE wrapper? It seems it something more internal to the .Net Framework that the current CSS adapters aren't filtering out, because there are definitely no TABLE tags being created by the adapters.
Ironically, the CreateUserWizard did not add a table wrapper around the CreateUserWizardStep -- but it did add it around the CompleteWizardStep.
I did some stepping through of code and stack traces to see if I could find anything different; the only thing of interest was that the CreateUserWizard called the CreateChildControls method during the Init phase, whereas the Login and PasswordRecovery called it during the PreRender phase (apparently the Wizard class does this via EnsureChildControls). Does't explain why the TABLE is around the Completed step and not the Create step.
Is there something I'm missing, or am I looking for functionality (i.e. no TABLEs around templated controls) that isn't here yet?
- blog: www.sidesofmarch.com