J'ai un contrôle personnalisé sur mon formulaire web:Impossible d'obtenir le contrôle personnalisé
<form id="form" runat="server">
<clc:CustomList
ID="myList"
runat="server"
AddButtonText="add"
DeleteButtonText="del"
MoveUpButtonText="up"
MoveDownButtonText="down"/>
<div id="test" runat="server"></div>
</form>
Je dois arriver à ce contrôle à partir d'un WebMethod statique. Je reçois l'objet Page à partir de HttpContext actuel, mais il semble que cet objet page n'a pas de contours (le nombre de contrôles est 0).
[WebMethod]
public static List<CustomListControl.IListItem> GetListItems()
{
Page page = HttpContext.Current.Handler as Page;
Control control = null;
if (page != null)
{
control = FindControlRecursive(page, "myList");
}
return null;
}
private static Control FindControlRecursive(Control root, string id)
{
if (root.ID == id)
{
return root;
}
foreach (Control c in root.Controls)
{
Control t = FindControlRecursive(c, id);
if (t != null)
{
return t;
}
}
return null;
}
Une idée pourquoi ou comment accéder à mon contrôle? Merci!
Je peux obtenir le contrôle de l'événement Page_Load. Je ne peux pas l'atteindre à partir de WebMethod statique (semble que l'objet Page que je reçois de l'actuel HttpContext n'est pas l'objet réel de la page:>) ... – Heko