0

DotNetNuke 4.x モジュールを作成していますが、モジュールに AJAX CascadingDropDown が必要です。私はそれを次のように定義しています...

<asp:UpdatePanel runat="server" ID="CascadingDropDowns">
    <ContentTemplate>
        <asp:DropDownList runat="server" ID="SelectGroupDropDownList">
        </asp:DropDownList>
        <ajax:CascadingDropDown runat="server" ID="SelectGroupDropDownListExtender" Category="Group" 
            TargetControlID="SelectGroupDropDownList" PromptText="Select a Group" ServiceMethod="GetGroups">
        </ajax:CascadingDropDown>
        <!-- more dropdowns & cascadingdropdown extenders here -->

このようにascxのコードビハインドで定義されたページメソッドで...

[WebService]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ScriptService()]
public partial class EligibilityView : PortalModuleBase
{
    [WebMethod]
    [ScriptMethod]
    public CascadingDropDownNameValue[] GetGroups(string knownCategoryValues, string category)
    {
        var results = new List<CascadingDropDownNameValue>();

        // code here to fill the list with values...

        return results.ToArray();

    }

ページを実行すると、「[メソッド エラー 500]」が表示され、何が間違っているのかわかりません。問題は、ページ自体ではなくASCXコントロール内で定義されているため、ページがwebmethodを見つけることができないことだと思います。ASMX サービスを作成するのではなく、このように定義しておく必要があります。これは、DotNetNuke 用のモジュールにコンパイルされ、モジュール内で物事をシンプルに保ちたいためです。

どんな提案でも大歓迎です。

4

1 に答える 1