2009-08-12 26 views
0

我在我的asp.net網頁中使用了一個控件,我沒有源代碼,這個控件在HTML中渲染了一些不受歡迎的BR(新行)標籤,它們使我的佈局變得更加靈活。我想知道是否有一種方法可以在不破壞控制行爲的情況下控制渲染過程(這是一個非常複雜的ajax驅動的行爲)或者做一些客戶端的事情。如何控制渲染過程或抑制BR的TAG行爲?

我試圖用CSS來解決這個問題,但沒有sucess ......的確,它工作在Firefox,但犯規在IE6:

 
#my-div-place-holder br 
{ 
    position: absolute;/*hack: Supress BR tags*/ 
} 

回答

1

您有注入自己的呈現了控制兩種不同的選擇:

  1. 子類的服務器控件並重寫Render方法。
  2. 使用ASP.Net Control Adapters

如果您選擇的子類,你可能有機會獲得基類的方法(如果存在)的執行呈現的不同方面,所以你不必實現整個渲染邏輯。

如果你不想深入服務器端渲染,你可以用javascript完成同樣的事情。

+0

@肯布朗寧,感謝您的快速回復。我正在和我的同事聊天,他們也說了同樣的事情,最好是我控制服務器並重寫渲染方法。 – Cleiton 2009-08-12 18:38:09

1

如何使用的HttpModule來過濾所呈現的HTML?我喜歡CSS的想法,但它在IE中工作太糟糕了。

1

我會去HttpModule和ResponseFilter。使用RegEx查找br標籤,並在將響應發送到客戶端之前將其替換爲String.Empty。

+0

哇......我不知道!我會試一試。 – Cleiton 2009-08-13 12:55:20