Bonjour à tous,
Je me permet de vous demander vôtre aide, car, ça fait déjà un petit moment que je butte sur le sujet.
J'ai mon calendrier créé avec asp.net que voici:
Code ASP.NET :
asp:Calendar ID="Calendrier" OnDayRender="CalendarDRender" DayHeaderStyle-ForeColor="Black" OnSelectionChanged="SelectionChanged"
runat="server" BorderWidth="1px" DayNameFormat="Shortest" FirstDayOfWeek="Monday"
ShowGridLines="True" BackColor="#FFFFCC" BorderColor="#FFCC66" Font-Names="Verdana"
Font-Size="8pt" ForeColor="#663399" Height="200px" Style="margin-top: 0px" Width="220px">
<SelectedDayStyle BackColor="#CCCCFF" Font-Bold="True"></SelectedDayStyle>
<DayHeaderStyle BackColor="#FFCC66" Font-Bold="True" Height="1px" />
<NextPrevStyle Font-Size="9pt" ForeColor="#FFFFCC" />
<OtherMonthDayStyle ForeColor="#CC9966"></OtherMonthDayStyle>
<SelectorStyle BackColor="#FFCC66" />
<TitleStyle BackColor="#990000" Font-Bold="True" Font-Size="9pt" ForeColor="#FFFFCC" />
<TodayDayStyle BackColor="#FFCC66" ForeColor="White" />
/asp:Calendar
Ce calendrier lance une fonction (en C#) nommé: "CalendarDRender" pour améliorer le rendu des dates et pouvoir indiquer qu'il y a un évènement sur cette date.
Voici cette fonction:
Code C# :
protected void CalendarDRender(object sender, System.Web.UI.WebControls.DayRenderEventArgs e)
{
// Déclaration des varriables
TableCell c = ((DayRenderEventArgs)e).Cell;
string Evenements = "";
string jour = "";
// Si mois courrant
if (!e.Day.IsOtherMonth)
{
foreach (System.Data.DataRow dr in ds.Tables[0].Rows)
{
if ((dr["Event_Date"].ToString() != DBNull.Value.ToString()))
{
jour = e.Cell.Text; // enregistrement du jour de la cellule
DateTime dtEvent = (DateTime)dr["Event_Date"];
// si le jour correspond à un evènement
if (dtEvent.Equals(e.Day.Date))
{
e.Cell.BackColor = System.Drawing.Color.PaleVioletRed; //Changement de couleur de la cellule
Evenements = Evenements + dr["Event_Name"].ToString(); // enregistrement des évènements
e.Cell.Text = ""; // on efface le jours contenu dans la cellule
// Et ici, j'aimerais que dans ma cellule, on puisse y mettre mon Reponse.Write(...)
// mais si je fait:
// e.Cell.Text = Response.Write("<a href=\"\" class=\"popup\" title=\"" +Evenements +"\">"+jour+" </a>");
// le débugueur me dit qu'un String (e.Cell.Text), ne peut pas contenir de void (Reponse.Write() )
Response.Write("<a href=\"\" class=\"popup\" title=\"" + Evenements + "\">" + jour + " </a>");
}
}
}
}
else
{
e.Cell.Text = "";
}
}
Et comme dit dans le code, j'aimerais pouvoir mettre <a href="" class="popup" title="mavarriable">lejour</a> dans la cellule du calendrier. Mais je ne trouve pas de solution :(.
Et je veux pouvoir y mettre ça car j'ai une fonction en javascrip (grace à un plugin de JQuery) qui me transforme toutes mes classes "popup" en espèce de tooltip amélioré (avec css).
Si quelqu'un a une solution, je suis preneur ;).
PS: Désolé si je me suis trompé de section lors du post, mais je n'ai pas trouvé de section adéquate.