2009-08-12 25 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