0

コードで ASP.NET カレンダー コントロールにツールヒントを追加します。

string newToolTip = string.Format(@"<div class='tooltip'><div class='toolHead'>{0}</div><div class='toolDate'>{1}-{2}</div></div>",sEvent.Title, sEvent.FromDate, sEvent.ToDate);
e.Cell.ToolTip = newToolTip;
e.Cell.Attributes.Add("OnClick", string.Format("javascript:__doPostBack('Karl Ender','{0}')", sEvent.Title));

ここで、「e」は DayRenderEventArgs です:

Calendar.DayRender += new DayRenderEventHandler(SpecialDayRender);

ページの最初のロードでは、すべてが正常に機能し、次の (正しい) html コードが生成されます。

<td title="" class="calendarcell" align="center" onclick="javascript:__doPostBack('Karl Ender','Hallo Welt')" style="color:White;background-color:Silver;width:14%;">7<div class="tooltip"><div class="toolHead">Hallo Welt</div><div class="toolDate">11/7/2012-5/9/2013</div></div></td>

カレンダー コントロールで月を変更すると (または別の部分ポストバックを実行すると)、突然 Html コードがめまいを起こします。

<td title="&lt;div class='tooltip'&gt;&lt;div class='toolHead'&gt;Hallo Welt&lt;/div&gt;&lt;div class='toolDate'&gt;11/7/2012-5/9/2013&lt;/div&gt;&lt;/div&gt;" class="calendarcell" align="center" onclick="javascript:__doPostBack('Karl Ender','Hallo Welt')" style="color:White;background-color:Silver;width:14%;">7</td>

したがって、ツールチップはそのセルの「タイトル」属性としてレンダリングされます

どんな手掛かり?

(カレンダーは updatePanel 内にあります)

コードをデバッグするとき、セルの Title-Attribute がその奇妙なコンテンツで満たされることはありません

4

0 に答える 0