2009-05-05 8 views
1

je cherchais une façon de le faire sans utiliser la liste déroulante Cascading service Web et viennent à travers cette linkCascading Dropdown sans utiliser webservice

J'ai essayé la suggestion au fond, mais je reçois la méthode erreur 500. Je recherche sur cette erreur sur le web mais tout ce que je peux trouver est d'augmenter la taille de jasonserislation webservice mais je n'utilise pas de service Web du tout, donc je ne pense pas que cela s'applique.

Est-ce que quelqu'un sait comment faire une liste déroulante en cascade sans utiliser le service web ou trouver un meilleur tutoriel/howto?

Remerciez

Répondre

3

Le contrôle Cascading n'a pas été conçu Dropdown à utiliser sans webservice. J'étais en train de rencontrer de gros problèmes en utilisant le contrôle avec de grands ensembles de données. Ce que je finalement fini par faire était la suivante:

<asp:ScriptManager ID="ScriptManager" runat="server" /> 
<asp:UpdatePanel ID="Panel1" runat="server" ChildrenAsTriggers="true"> 
    <ContentTemplate> 
     <asp:DropDownList ID="ddlDropdown1" runat="server" OnSelectedIndexChanged="ddlDropdown1_IndexChanged" AutoPostBack="true" /> 
     <asp:DropDownList ID="ddlDropdown2" runat="server" /> 
    </ContentTemplate> 
</asp:UpdatePanel> 

protected void ddlDropdown1_IndexChanged (object sender, EventArgs e) 
{ 
    // Do database access 
    .... 
    // Populate ddlDropdown2 
} 

Cela vous permettra de renseigner autant de niveaux de menus déroulants que vous le souhaitez. Cette solution n'utilise pas le contrôle Cascading Dropdown mais vous donne le même effet. L'erreur 500 est une erreur de données générique de AJAX et indique généralement que vous n'utilisez pas le décorateur [ScriptService()] au-dessus de la classe webservice.

+0

Merci pour le conseil. C'est très utile. – Jack