Bonjour à tous,
je patauge un peu avec mon application. Mon problème est que je passe par de l'ajax pour charger des User Control en cascade dans des divs.
Dans un fichier ashx, j'arrive bien à loader mes différents userControl via la méthode Page.LoadControl("monfihier.ascx") et les afficher à l'écran.
Dans mon contexte, j'ai une queryString avec mes paramètres. Le hic c'est que je n'arrive pas à les transmettre au usercontrol.
Sachant que le nombre de paramètres n'est pas déterminer à l'avance. La seule que je sais c'est que ce sont des strings.
Par avance je vous remercie de votre aide.
Voici le code de la page ashx qui fonctionne sans le passage de paramètres.
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest context.Response.ContentType = "text/html" Dim ctrl As String = context.Request("control") Dim parametres As String = context.Request.QueryString If (Not String.IsNullOrEmpty(ctrl)) Then context.Response.Write(LoadUserControl(ctrl)) Else ctrl = "" End If End Sub Protected Shared Function LoadUserControl(ByVal user_control As String) As String Dim retour As String = String.Empty 'Verification de l'existance du userControl Dim existe As Boolean = System.IO.File.Exists(HttpContext.Current.Server.MapPath(user_control)) If Not existe Then Return retour Using Page As New Page Dim html As HtmlForm = New HtmlForm() If (user_control.StartsWith("../")) Then user_control = (New Regex("^[\.]{2}")).Replace(user_control, "~") Dim uc As UserControl = Page.LoadControl(user_control) Using writer As New StringWriter() html.Controls.Add(uc) Page.Controls.Add(html) HttpContext.Current.Server.Execute(Page, writer, False) retour = writer.ToString() End Using End Using Return retour End Function
Partager