How to pass an additional parameter to CascadingDr

2019-06-14 01:05发布

I have two chained CascadingDropDowns. Both are working fine. The thing is that in the underlying web methods which are supplying values for DropDwonList I need read one additional parameter. This parameter is needed for setting up the default item for dropdownlist.

I do not know how to pass that parameter or read it. I've read on the Internet about the ContextKey property. But I do not know how to acces it from the WebMethod.

I've tried to get to the session through HttpContext.Current.Session (hoping that I could extract some parameter from the session) but it seams that the Session is different for the WebPage and WebMethod.

So I am lost here, any ideas?

3条回答
乱世女痞
2楼-- · 2019-06-14 01:18

You need three things to get the ContextKey to work.

  1. Set UseContextKey property on the CascadingDropDown to true
  2. Change the method signature of your webmethod to accept the contextKey parameter:

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

NOTE: The parameter has to be exact casing.

  1. Set the ContextKey using JavaScript. The AJAX CascadingDropDown exposes getter/setter for this property in the DOM:

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

HTH.

查看更多
对你真心纯属浪费
3楼-- · 2019-06-14 01:27

Passing Additional arguments Sometimes the action method which provides the JSON for the combobox may need additional arguments. Here is how to pass them to your action: CopyPassing additional arguments to the action method

function onComboBoxDataBinding(e) {
    e.data = $.extend({}, e.data, { customParam: "customValue"});
}
查看更多
走好不送
4楼-- · 2019-06-14 01:40

In your .cs file write:

cascadingdropdown1.contextKey=<parameter you need>

Then in the web method use that contextKey

查看更多
登录 后发表回答