2009-11-08 74 views
0

這是我的aspx代碼爲什麼ContentPlaceHolder呈現爲表格?

<body > 
    <form id="_form1" runat="server" >   
     <div style=" width:100%; text-align:center;">  
      <div style="width:80%; margin:0 auto;" > 
       <asp:ContentPlaceHolder ID="_head" runat="server"></asp:ContentPlaceHolder>    
      </div> 
     </div>  
    </form> 
</body> 

在我的ContentPlaceHolder我有

<div> 
This is test... 
</div> 

當我運行該應用程序我在IE8中的HTML呈現爲

<html> 
... 

<div> 
<table> 
    <tr> 
    <td> 
    <div> 
     this is test 
    <div> 
    </td> 
    </tr> 
</table> 
<div> 

... 
</html> 
現在

其中該表來從,如何改變它?

謝謝

回答

2

您使用的是什麼設置?如果您處於項目的開始階段並真正關注生成的HTML的結構,您可能對更多基於web/html標準的asp.NET MVC感興趣。

編輯 - 這是當我按照你所說的行事做時所得到的輸出,據我所知可以從你的問題中得知。

<body > 
    <form name="aspnetForm" method="post" action="WebForm1.aspx" id="aspnetForm"> 
<div> 
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTEwMDUyNjYzMjhkZBdGjIzV2B+QZdda+0wRGTEHyQlg" /> 
</div> 

     <div style=" width:100%; text-align:center;">  
      <div style="width:80%; margin:0 auto;" > 

<div> 
This is test... 
</div> 

      </div> 
     </div>  
    </form> 

</body> 

至少有四種可能性存在

  1. 你就錯了。
  2. 我做錯了,但至少得到了期望的結果。
  3. 我們都搞錯了。
  4. 我們使用不同版本的asp.net的,不同的設置我們的項目等更多的細節,實際上可能是有幫助
+0

你沒有回答這個問題。我想知道爲什麼這樣做。如果你只是創建常規母版頁,並把用戶控件的contentplaceholder,並檢查HTML,你會看到它呈現表。 – Zeus 2009-11-09 01:08:09

+0

尷尬,但感謝評論,迫使我再次查看代碼,發現我的部分有錯誤......指向你:) – Zeus 2009-11-09 21:49:44

1

你有你的母版之間你上述定義,你也該內容的母版頁如上所述。 .NET框架不會自動插入表格,只有在主頁面中定義了才能插入到ContentPlaceHolder中。或者另一個過程是自動插入表結構。

另外它在UI中並不明顯,但母版頁也可以具有母版頁,因此請確保您沒有可添加的母版頁表。

+0

不,我沒有母版頁下的母版頁,但我正在使用一個母版母版頁。除此之外,它只是div標籤內的普通用戶控件。 – Zeus 2009-11-09 01:07:10

1

ASP.NET在某些Internet瀏覽器上呈現爲表格。在internet explorer上,它呈現爲table,並在chrome上呈現爲div標記。

我不知道如何防止這種情況在默認情況下,但我使用了一個名爲CSSFriendly的.dll文件,它使我能夠將菜單呈現爲列表而不是表格。也許你可以試試這個內容佔位符。

親切的問候