unfortunately there are some problems with such a web service:
at the end of the webservice i have to call the "RenderControl" method to get the html code but this throws an error:
System.NullReferenceException: Object reference not set to an instance of an object.
at DotNetNuke.UI.Utilities.ClientAPI.IsClientScriptBlockRegistered(Page objPage, String key)
at DotNetNuke.UI.Utilities.ClientAPI.RegisterClientReference(Page objPage, ClientNamespaceReferences eRef)
at DotNetNuke.UI.Utilities.ClientAPI.RegisterClientReference(Page objPage, ClientNamespaceReferences eRef)
at DotNetNuke.UI.Utilities.ClientAPI.GetCallbackEventReference(Control objControl, String strArgument, String strClientCallBack, String strContext, String srtClientErrorCallBack, String strClientStatusCallBack, String strPostChildrenOfId, CallBackTypeCode eCallbackType)
at DotNetNuke.UI.Utilities.ClientAPI.GetCallbackEventReference(Control objControl, String strArgument, String strClientCallBack, String strContext, String srtClientErrorCallBack, String strClientStatusCallBack, CallBackTypeCode eCallbackType)
at DotNetNuke.UI.WebControls.DNNLabelEdit.AddAttributesToRender(HtmlTextWriter writer)
at System.Web.UI.WebControls.WebControl.RenderBeginTag(HtmlTextWriter writer)
at System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer)
at DotNetNuke.UI.WebControls.DNNLabelEdit.Render(HtmlTextWriter writer)
at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)
at System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter)
at System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)
at System.Web.UI.Control.RenderChildren(HtmlTextWriter writer)
at System.Web.UI.Control.Render(HtmlTextWriter writer)
at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)
at System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter)
at System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
at ASP.portals__default_containers_dnn_blue_image_header___color_background_ascx.__Render__control1(HtmlTextWriter __w, Control parameterContainer) in D:\Downloads\DotNetNuke_04.05.05_Install\Portals\_default\Containers\DNN-Blue\Image Header - Color Background.ascx:line 39
at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)
at System.Web.UI.Control.RenderChildren(HtmlTextWriter writer)
at System.Web.UI.Control.Render(HtmlTextWriter writer)
at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)
at System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter)
at System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
at DotNetNuke.ModuleContent.get_module_content(Int32 tabid) in d:\Downloads\DotNetNuke_04.05.05_Install\App_Code\WebServices\ModuleContent.cs:line 56
what am i missing? each object is initialized! the hole code would be a little bit much, but the webmethod itself:
[WebMethod]
public string get_module_content(int tabid)
{
ModuleController modules = new ModuleController();
System.Collections.Generic.Dictionary tab_modules = modules.GetTabModules(tabid);
DotNetNuke.Entities.Portals.PortalSettings portal_settings = DotNetNuke.Common.Globals.GetPortalSettings();
foreach (System.Collections.Generic.KeyValuePair act_module in tab_modules)
{
if ((act_module.Value.PaneName == "ContentPane") && (DotNetNuke.Security.PortalSecurity.IsInRoles(act_module.Value.AuthorizedViewRoles) == true) && (act_module.Value.IsDeleted == false))
{
System.Web.UI.UserControl container = null;
System.Text.StringBuilder sb = new System.Text.StringBuilder();
System.IO.TextWriter sw = new System.IO.StringWriter(sb);
System.Web.UI.HtmlTextWriter test = new System.Web.UI.HtmlTextWriter(sw);
container = this.RenderModules(act_module.Value, portal_settings); //implementation of the "InjectModule" Method of DotNetNuke.UI.Skins.Skin but less functionable
container.RenderControl(test);
return sw.ToString();
}
}
return "No module found!";
}
The "RenderModules" Method is a small implementation of the DotNetNuke.UI.Skins.Skin.InjectModule Method, but without some features
cheers, david