Question

J'ai deux CascadingDropDowns enchaînée. Les deux fonctionnent très bien. La chose est que dans les méthodes Web sous-jacents qui sont Affecter des valeurs pour DropDwonList je besoin de lire un paramètre supplémentaire. Ce paramètre est nécessaire pour la mise en place l'élément par défaut pour dropdownlist.

Je ne sais pas comment passer ce paramètre ou lire. Je l'ai lu sur Internet au sujet de la propriété ContextKey. Mais je ne sais pas comment il accès du WebMethod.

J'ai essayé de se rendre à la session par HttpContext.Current.Session (en espérant que je pourrais extraire certains paramètres de la session), mais il coutures que la session est différente pour les WebPage et WebMethod.

Je suis perdu ici, des idées?

Était-ce utile?

La solution

Vous avez besoin de trois choses pour obtenir le contextKey au travail.

  1. Set UseContextKey propriété sur la CascadingDropDown true
  2. Modifier la signature de la méthode de votre webmethod pour accepter le paramètre contextKey:

public CascadingDropDownNameValue[] GetDropDownContents( string knownCategoryValues, string category, string contextKey) { ... }

NOTE:. Le paramètre doit être boîtier exacte

  1. Définissez le contextKey en utilisant JavaScript. Le AJAX CascadingDropDown expose getter / setter de cette propriété dans le DOM:

    document.getElementById('idOfCDDL').set_contextKey('valueyouwant');

HTH.

Autres conseils

arguments additionnels Parfois, la méthode d'action qui fournit le JSON pour le combobox peut avoir besoin des arguments supplémentaires. Voici comment les transmettre à votre action: CopyPassing arguments supplémentaires à la méthode d'action

function onComboBoxDataBinding(e) {
    e.data = $.extend({}, e.data, { customParam: "customValue"});
}

Dans votre fichier .cs écriture:

cascadingdropdown1.contextKey=<parameter you need>

Ensuite, dans l'utilisation de la méthode Web qui contextKey

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top