2010-07-02 63 views
1

我是.net新手,我注意到當查看由.net應用程序生成的HTML源代碼時,回車符從頭標記中移除當它有runat="server"屬性就可以了。ASP.NET runat = server從頭標記中刪除回車符

我刪除了runat="server"並返回...返回。

當你的頭文件中有一些javascript和css文件時,這看起來真的很糟糕,因爲它最終會使head標籤的整個內容變大。

只是想知道是否有辦法控制這個或告訴.net通過配置不破壞輸出?

謝謝!

+0

只是想知道,如果你或任何人已經找到解決方案來解決標題不是內聯。謝謝。 – Manu 2010-12-28 05:15:10

回答

1

您可以創建一個ControlAdapter。 添加文件Head.Browser到App_Browsers文件目錄的內容:

<browsers> 
    <browser refID="Default"> 
    <controlAdapters> 
     <adapter controlType="System.Web.UI.HtmlControls.HtmlHead" 
       adapterType="MyNamespace.MyHeadAdapter, MyAssembly" /> 
    </controlAdapters> 
    </browser> 
</browsers> 

適配器來源:

public class MyHeadAdapter: ControlAdapter 
    { 
     protected override void Render(HtmlTextWriter writer) 
     { 
      // base.Render(writer); 
      // do the fix here 
     } 
    } 

PS:我還沒有測試此代碼,但使用了幾乎重寫相同該表單的動作由來自HtmlTextWriter的自定義類承擔。

0

我遇到這篇文章,同時尋找解決這個問題。

有2個問題,當RUNAT =服務器屬性設置,我注意到......除去 1)meta標籤之間的回車符,因此所有的meta標籤都在一行 2)title標籤是成束在一起相當搞砸(DVD完美地描述了這一點)

我遇到的問題是我需要動態設置頁面標題,元描述和元關鍵字。 要動態設置頁面標題,需要設置runat = server屬性。

我的解決方案;

  1. 從頭部標籤
  2. 卸下RUNAT =服務器屬性RUNAT =服務器attirbute添加到標題標籤
  3. 在後面的代碼,參考標題標籤並設置.InnerText屬性

希望這有助於。