Bonjour, je suis entrain de programmer une appli intranet pour mon stage.


Je doit rajouter un element Calendar pour que les utilisateurs choisissent une date.
l'element Calendar prenant beaucoup de place (appli en 1280*1024 ie9) j'ai decider de le transformer en date picker (on clique sur une petite icone de calendrier pour faire apparaitre le calendar)

Ma page contient:

Un header / nav / Footer qui viens d'une page maitre

et: tous le code inserez dans le placeholder.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
 
    <section id="sectionplaceholder">
 
 
                <article id="dateheure_calib">
                  Date de la calibration: 
                <asp:TextBox ID="TXTB_datecalib" runat=server 
                    ToolTip="(jj/mm/aaaa)" CssClass="txtbdate"></asp:TextBox>
                <asp:ImageButton ID="IB_Calendar" runat="server" 
                ImageUrl="~/Icons/calendar.png" 
                Height="20px" ImageAlign="Middle" 
                Width="20px" onclick="IB_Calendar_Click" />
 
                <asp:Calendar ID="Cal_Calib" runat="server" Visible="False" EnableTheming="false"
                BorderWidth="1px" Caption="Saisir la date de début" 
                DayNameFormat="Shortest" Font-Names="Verdana" Font-Size="8pt" 
                Height="200px" 
                onselectionchanged="Cal_Calib_SelectionChanged" ShowGridLines="True" 
                Width="220px" NextPrevFormat="ShortMonth" BackColor="WhiteSmoke">
                </asp:Calendar>
                </article>
 
     </section>
donc par default: le calendar est en Voici le code behind

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 
   if (!IsPostBack)
            {
                 HtmlLink cssLink = new HtmlLink();
                cssLink.Href = "~/Css/Style_SaisieCalibrage.css";
                cssLink.Attributes.Add("rel", "stylesheet");
                cssLink.Attributes.Add("type", "text/css");
                Page.Header.Controls.Add(cssLink);
                String Date = DateTime.Now.ToString("dd/MM/yyyy");
                TXTB_datecalib.Text = Date;
                String HourMin = DateTime.Now.ToString("hh:mm");
                TXTB_heurecalib.Text = HourMin;
            }
 
 
        }
 
        protected void IB_Calendar_Click(object sender, ImageClickEventArgs e)
        {
            if (Cal_Calib.Visible == false)
            { Cal_Calib.Visible = true; }
            else { Cal_Calib.Visible = false; }
        }
 
        protected void Cal_Calib_SelectionChanged(object sender, EventArgs e)
        {
            TXTB_datecalib.Text = String.Format("{0:dd/MM/yyyy}", Cal_Calib.SelectedDate);
            Cal_Calib.Visible = false;
        }
Quand la page load, la text box du calendar est bien pré remplit
Le calendar fonctionne (quand je clique sur la date, l'ajout se fait bien dans la text box etc)

MAIS

quand je clique sur l'image button (l'icone) TOUS LE CSS DE MON PLACEHOLDER est foutu en l'air.


Voici les images:

Nom : pbasp.jpg
Affichages : 95
Taille : 51,7 Ko
Nom : pbasp2.jpg
Affichages : 97
Taille : 57,3 Ko


1) Pourquoi ?

2) Comment eviter ce désagrement