Как передать дополнительный параметр в CascadingDropDown ServiceMethod? - PullRequest
0 голосов
/ 01 октября 2010

у меня две цепочки CascadingDropDowns.Оба работают нормально.Дело в том, что в базовых веб-методах, предоставляющих значения для DropDwonList, мне нужно прочитать один дополнительный параметр.Этот параметр необходим для настройки элемента по умолчанию для выпадающего списка.

Я не знаю, как передать этот параметр или прочитать его.Я читал в интернете о собственности ContextKey.Но я не знаю, как получить к нему доступ из WebMethod.

. Я пытался добраться до сеанса через HttpContext.Current.Session (надеясь, что смогу извлечь какой-то параметр из сеанса), но он показывает, чтоСессия отличается для WebPage и WebMethod.

Так что я здесь потерян, есть идеи?

Ответы [ 3 ]

1 голос
/ 01 октября 2010

Вам нужно три вещи, чтобы заставить работать ContextKey.

  1. Установить UseContextKey для CascadingDropDown в true
  2. Изменить сигнатуру метода вашего веб-методапринять параметр contextKey:

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

ПРИМЕЧАНИЕ. Параметр должен быть точный регистр.

  1. Установите ContextKey, используя JavaScript.AJAX CascadingDropDown предоставляет геттер / сеттер для этого свойства в DOM:

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

HTH.

0 голосов
/ 11 октября 2012

Передача дополнительных аргументов Иногда метод действия, который обеспечивает JSON для комбинированного списка, может потребовать дополнительных аргументов. Вот как передать их вашему действию: CopyPassing дополнительные аргументы для метода действия

function onComboBoxDataBinding(e) {
    e.data = $.extend({}, e.data, { customParam: "customValue"});
}
0 голосов
/ 26 марта 2012

В вашем файле .cs напишите:

cascadingdropdown1.contextKey=<parameter you need>

Тогда в веб-методе используйте это contextKey

...