2010-05-14 46 views
0

根據​​,應該能夠將屬性RenderOuterTable =「false」添加到支持該屬性的控件,並查看CSS友好代碼被吐出 - 換句話說,沒有HTML表。用於.NET 4.0控件的RenderOuterTable屬性的問題

爲了測試這一點,我扔了登錄控制爲基本新鮮的網頁用下面的代碼:

<asp:Login ID="Login1" runat="server" RenderOuterTable="false"></asp:Login> 

結果?蹩腳的HTML表格輸出,據說不會將此屬性設置爲false。這裏是輸出:

<table cellpadding="0"> 
<tr> 
    <td align="center" colspan="2">Log In</td>  
</tr> 
<tr> 
    <td align="right"><label for="MainContent_Login1_UserName">User Name:</label></td> 
    <td> 
     <input name="ctl00$MainContent$Login1$UserName" type="text" id="MainContent_Login1_UserName" /> 
     <span id="MainContent_Login1_UserNameRequired" title="User Name is required." style="visibility:hidden;">*</span> 
    </td>... 

希望你明白了。這些控件如何停止輸出表格?這是非常煩人的。

回答

1

將Login控件轉換爲模板。它可以完全控制佈局而不需要桌子(包括即使使用模板選項也可以生成的外部桌子)。

+0

將其轉換爲模板有效。當你轉換時,它只是將所有單獨的控件連同所有的html表一起拋入頁面。謝謝! – Mario 2010-05-17 18:14:43

0

它並沒有說它會擺脫所有的表格,只是它會擺脫用來應用樣式的多餘的外部表格。嘗試擺脫財產,並注意包裹上面引用的表格的額外表格。

+0

好的,沒有。該頁面是您可以獲得的最簡單的aspx頁面。身體唯一的東西是窗體,div和登錄控件。沒有任何表格。 – Mario 2010-05-14 22:38:57

+0

哦,我沒有提到。輸出仍然相同。噸的HTML表格。 – Mario 2010-05-15 00:04:31

+0

這是我的觀點。該屬性確實刪除了外部表,就像它的名字所示,但它不會改變其他任何東西。看起來SimonF有一個建議,如果你真的想完全擺脫表格。 – bwarner 2010-05-17 13:11:08