2009-08-12 8 views
0

私はasp.netのWebページでソースコードを持っていないコントロールを使用しています。このコントロールは、HTMLでいくつかの望ましくないBR(改行)タグをレイアウトしてしまいます。私はコントロールの振る舞い(非常に複雑なAjaxで動いているもの)を破ることなくレンダリングプロセスをコントロールする方法があるかどうか、あるいはクライアント側で何かするかどうかを知りたいと思います。レンダリングプロセスを制御する方法、またはBRのタグ動作を抑える方法はありますか?

私はそれを解決するためにCSSを使用しようとしましたが、成功事例のなし...確かに、それはFirefoxで動作しますが、IE6でのdoesnt:レンダリングされたHTMLをフィルタリングするHttpModuleをの使用に関する

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

答えて

1

あなたはコントロールのために、独自のレンダリングを注入するための2つの異なるオプションがあります。

  1. は、サーバーコントロールをサブクラス化しRenderメソッドをオーバーライドします。
  2. 使用ASP.Netあなたがサブクラス化することを選ぶ場合は、全体を実装する必要はありませんので、あなたがレンダリングのさまざまな側面を実行し、基本クラスのメソッドへのアクセスを(存在する場合)必要がある場合がありますControl Adapters

ロジックを自分で描画します。

サーバーサイドのレンダリングを掘り下げたくない場合は、javascriptで同じことを達成できます。

+0

@Ken Browning、お返事ありがとうございます。私は同僚と話をしていて、同じことを言った、私はサーバーコントロールをサブクラス化し、レンダリングメソッドをオーバーライドする方が良いです。 – Cleiton

1

どのように?私はCSSのアイデアが好きですが、それはIEでうまくいきません。

1

私はHttpModuleとResponseFilterを使用します。 RegExを使用してbrタグを検索し、レスポンスがクライアントに送信される前にString.Emptyに置き換えます。

+0

woww ...私はそれを知りませんでした!私は試してみます。 – Cleiton

関連する問題