Bonjour tout le monde.
Mon problème se situe sur une fonction js appelée sur le OnClientDateSelectionChanged d'un CalendarExtender.
En fait, je passais avant par une fonction directement intégrée dans un ascx, cela se présentait ainsi :
Dans ce cas là, ça fonctionne parfaitement, je récupère bien les calendarextender et je peux faire mes traitements.
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 <script type="text/javascript" language="javascript"> //Limitation des dates des CalendarExtender function LimitCalendarExtender() { //Obtenir les CalendarExtender var calendarStart = $find('<%=CalendarExtenderStartDate.ClientID %>'); var calendarEnd = $find('<%=CalendarExtenderEndDate.ClientID %>'); //Traitements... } </script> <ajx:CalendarExtender runat="server" ID="CalendarExtenderStartDate" OnClientDateSelectionChanged ="LimitCalendarExtender"/> <ajx:CalendarExtender runat="server" ID="CalendarExtenderEndDate" OnClientDateSelectionChanged ="LimitCalendarExtender"/>
Le soucis, c'est que je dois faire exactement la même chose sur une autre page, alors plutôt que de me retaper tout le code, j'ai décidé de mettre mes fonctions js dans un fichier js, et de faire un RegisterClientScriptInclude:
Fichier JS:
Et mon RegisterClientScriptInclude dans mon ascx.cs:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 //Limitation des dates des CalendarExtender function LimitCalendarExtender(calendarStartClientId,calendarEndClientId) { //Obtenir les CalendarExtender var calendarStart = $find(calendarStartClientId); var calendarEnd = $find(calendarEndClientId); }
Et donc sur mon ascx, je fais ainsi appel aux fonctions :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 protected override void OnInit(EventArgs e) { ScriptManager.RegisterClientScriptInclude(this.Page, typeof(Page), "FonctionsJS", @"Scripts/FonctionsJS.js"); }
Et là, quand je lance mon ascx, j'ai une erreur JS : "Erreur Javascript, Objet Attendu", le debuggueur s'arrêtant sur OnClientDateSelectionChanged de mon ascx.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <ajx:CalendarExtender runat="server" ID="CalendarExtenderStartDate" OnClientDateSelectionChanged ="LimitCalendarExtender('<%=CalendarExtenderStartDate.ClientID %>','<%=CalendarExtenderEndDate.ClientID %>')"/> <ajx:CalendarExtender runat="server" ID="CalendarExtenderEndDate" OnClientDateSelectionChanged ="LimitCalendarExtender('<%=CalendarExtenderStartDate.ClientID %>','<%=CalendarExtenderEndDate.ClientID %>')"/>
Quand je fais un RegisterClientScriptInclude, il trouve bien mon fichier JS, y'a pas de soucis là dessus.
Merci de votre aide ^^.
Partager