0

DotNetNuke 4.xモジュールを作成していて、モジュールにAJAX CascadingDropDownが必要です。私はこのようなASCXの分離コードで定義されたページの方法でDotNetNukeモジュールのCascadingDropDown => [メソッドエラー500]

<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 --> 

...私はページを実行すると

[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]」 - 私が間違っていることを何であるか把握することはできません。私は、問題はページがwebmethodを見つけることができないということだと思います。なぜなら、ASCXコントロールの内部で定義されているので、ページ自体ではないからです。 DotNetNuke用のモジュールにコンパイルされるので、ASMXサービスを作成しないで、このように定義したままにしておく必要があります。モジュール内で簡単に処理したいと思っています。

ご意見をいただければ幸いです。

答えて

4

ASCXにある間に、そのWebサービスメソッドにアクセスする簡単な方法はないと思います。この場合、「シンプル」とはおそらくモジュールにASMXを追加することを意味します。

ASMXを追加することが問題になると考えている理由はありますか?

モジュールパッケージに別のファイルを追加するには、コントロール自体を追加するのと同じプロセスが必要です。マニフェストでは、ファイルセクションで指定するだけで、パッケージで終わるようにする必要があります。また、パッケージ内のリソースzipファイルを使用し、そのzipを指定するだけで、.ascxファイルと.asmxファイル(およびその他のコンテンツファイル)がそこにあることを確認することもできます。

+0

デプロイメントを簡単にするために、私はascxでページメソッドを保持しようとしていました。私はかなり新しい核です - 私が見た最後のバージョンはおそらくバージョン1でした - そのため、asmxファイルを追加するとパッケージングと展開が難しくなるかどうかは分かりませんでした。 –

+0

他のリソース(.ascx、.gif、.js、.docなど)とまったく同じであるasmxファイルのパッケージ化とデプロイメントを保証できます。 –

関連する問題