首先会出现这样的错误提示:

Error: TesingModulle is currently unavailable.
DotNetNuke.Services.Exceptions.ModuleLoadException:e:DevelopmentDotNetNuke_4.3.5_SourceWebsiteDesktopModulesTestingModuleViewTestingModule.ascx.cs(136):error CS0019: Operator '&' cannot be applied to operands oftype'string' and 'string' ---> System.Web.HttpCompileException:e:DevelopmentDotNetNuke_4.3.5_SourceWebsiteDesktopModulesTestingModuleViewTestingModule.ascx.cs(136):error CS0019: Operator '&' cannot be applied to operands oftype'string' and 'string' (运算符“&”无法应用于“string”和“string”类型的操作数)atSystem.Web.Compilation.AssemblyBuilder.Compile() atSystem.Web.Compilation.BuildProvidersCompiler.PerformBuild() atSystem.Web.Compilation.BuildManager.CompileWebFile(VirtualPathvirtualPath) atSystem.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPathvirtualPath, Boolean noBuild, Boolean allowCrossApp, BooleanallowBuildInPrecompile) atSystem.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContextcontext, VirtualPath virtualPath, Boolean noBuild, BooleanallowCrossApp, Boolean allowBuildInPrecompile) atSystem.Web.UI.TemplateControl.LoadControl(VirtualPath virtualPath) atSystem.Web.UI.TemplateControl.LoadControl(String virtualPath) atDotNetNuke.UI.Skins.Skin.InjectModule(Control objPane, ModuleInfoobjModule, PortalSettings PortalSettings) inE:DevelopmentDotNetNuke_4.3.5_SourceLibraryComponentsSkinsSkin.vb:line446 --- End of inner exception stack trace ---

按照提示,找到出错的代码,第136行,很明显,作者按照VB的语法在连接字符串。
            foreach (PropertyInfo objPropertyInfo in objProperties)
            {
136行:              
if (strContent.IndexOf("[" & objPropertyInfo.Name.ToUpper() & "]"!= -1)
                {
                    strValue 
= Server.HtmlDecode(DataBinder.Eval(e.Item.DataItem, objPropertyInfo.Name).ToString());
                    strContent 
= strContent.Replace("[" + objPropertyInfo.Name.ToUpper() + "]", strValue);
                }
            }
将"&"改为“+"。

之后,会出现这样的出错提示:

Error: TesingModulle is currentlyunavailable.
DotNetNuke.Services.Exceptions.ModuleLoadException: reference not set to an instance of an . ---> System.NullReferenceException: reference not set to an instance of an . at YourCompany.Modules.TestingModule.ViewTestingModule.lstContent_ItemDataBound( sender, DataListItemEventArgs e) in e:DevelopmentDotNetNuke_4.3.5_SourceWebsiteDesktopModulesTestingModuleViewTestingModule.ascx.cs:line 136 at System.Web.UI.WebControls.DataList.OnItemDataBound(DataListItemEventArgs e) at System.Web.UI.WebControls.DataList.CreateItem(Int32 itemIndex, ListItemType itemType, Boolean dataBind, dataItem) at System.Web.UI.WebControls.DataList.CreateControlHierarchy(Boolean useDataSource) at System.Web.UI.WebControls. DataList.OnDataBinding(EventArgs e) at System.Web.UI.WebControls. DataList.DataBind() at YourCompany.Modules.TestingModule.ViewTestingModule.Page_Load( sender, EventArgs e) in e:DevelopmentDotNetNuke_4.3.5_SourceWebsiteDesktopModulesTestingModuleViewTestingModule.ascx.cs:line 115 --- End of inner exception stack trace ---

 对于这个出错先介绍一个简单的解决方案:

如果出现这个提示,并不表示现在模块完全不能使用,这时你点左上角的小三角形进入“设置”页,点击模块对应的设置节,在“Template"处输入"[CONTENT]"并更新,模块就可以正常运行,有时间会做个补丁。

收藏 打印