1

私はasp.netカレンダーを持っています。カレンダーの DayRender イベントで、html をツールチップとしてレンダリングしたいと考えています。

e.Cell.ToolTip= HttpUtility.HtmlEncode("add<BR>peek") 

しかし、うまくいきません。ブラウザでhtmlとしてレンダリングする方法。しかし、それは次のようにレンダリングされました

"asdsa&lt;BR&gt;peek"

編集:別の方法でこのように試しました。

Label b = new Label();
b.Visible = false;
b.Text = "add<BR>peek";
e.Cell.Controls.Add(b); 

正常に表示されます。しかし、カレンダーの日付の上にラベルを表示したい。これどうやってするの?誰でも私を助けることができますか?前もって感謝します。

4

1 に答える 1

1

これを実現する最も簡単な方法は、jQuery を使用することです。css クラスを使用して、含まれるセルとラベルを目立たない JavaScript で識別できるようにする必要があります。次に、セルがホバーされたときにラベルを見つけて表示し、マウスが離れると非表示にする関数を作成できます。

既にあるサーバー側のロジックに次の行を追加します。

b.CssClass = "js-tooltip";
e.Cell.CssClass = "js-tooltip-container";

html は次のようになります (この部分をコーディングする必要はありません。コード ビハインドの結果です)。

<td class="js-tooltip-container">
    <label class="js-tooltip" style="display:none;">add <br /> peek</label>
</td>

次に、次の jQuery を追加する必要があります。

<script type="text/javascript">
$(function(){
    $(".js-tooltip-container").hover(function(){
        $(this).find(".js-tooltip").show();
    }, function(){
        $(this).find(".js-tooltip").hide();
    });
});
</script>

JavaScript はjQuery ホバー機能を利用します。これはすべて定型的なものなので、より堅牢でカスタマイズ可能なものが必要な場合は、ここで提案されているプラ​​グインのいずれかを使用することを検討してください。

于 2012-09-12T11:48:10.980 に答える