0

Bir DotNetNuke 4.x modülü oluşturuyorum ve modülümde bir AJAX CascadingDropDown'a ihtiyacım var. Böyle ascx içinde codebehind tanımlanan sayfa yöntemleDotNetNuke modülünde CascadingDropDown => [Yöntem hatası 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 --> 

... Ben sayfasını çalıştırdığınızda

[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(); 

    } 

, ben bir "[olsun ... aşağıdaki gibi tanımlandığını var Yöntem hatası 500] "- ve ne yapıyorum yanlış yapıyorum. Sorun şu ki, sayfa webmethod'u bulamıyor çünkü ASCX denetimi içinde tanımlanmış ve sayfanın kendisi değil. Bu şekilde tanımlanmalı ve bir ASMX hizmeti oluşturmamalıyım - çünkü bu, DotNetNuke için bir modülde toplanacak ve modülde işleri basit tutmak istiyorum.

Her türlü öneri çok takdir edilecektir.

cevap

4

ASCX'teyken bu web hizmeti yöntemine erişmenin kolay bir yolu olacağını düşünmüyorum. Bu durumda "basit", muhtemelen modüle ASMX eklenmesi anlamına gelir.

ASMX eklemenin bir sorun olacağını düşünmenizin bir nedeni var mı?

Modül paketine başka bir dosya eklemek, denetimin kendisini eklemek için kullanacağınız işlemi de içermelidir. Bildiride, sadece dosyalar bölümünde belirtmeniz ve ardından pakette tamamlandığından emin olmanız gerekir. Ayrıca, bir kaynak zip dosyasını pakette de kullanabilir ve sadece bu zip dosyasını belirtebilir, .ascx ve .asmx dosyalarınızın (ve diğer içerik dosyalarınızın) bulunduğundan emin olun.

+0

Sadece basitleştirmek için sayfa yöntemlerini ascx'te tutmaya çalışıyordum. Nuke için oldukça yeni oldum - son baktığımda muhtemelen sürüm 1 - bu yüzden mix'e bir asmx dosyası ekleyip paketlemeyi ve dağıtımı daha zorlaştırabileceğinden emin değildim. –

+0

Asmx dosyasını başka herhangi bir kaynaktan gerçekten farklı olmayan (.ascx, .gif, .js, .doc, vs ...) paketleme ve dağıtımı için kefil olabilirim. –