我知道这可以做到,因为有其他模块有这个,但我只是没有让它工作。
我为DotNetNuke网站创建了一个自定义模块。我希望能够在模块中创建一个类对象来保存有关该对象的信息。我可以创建对象,一切都符合。但是,当我在代码隐藏中使用该对象时,它声明该对象未定义。我不确定从哪里开始。
这是View.ascx.vb的开头:
Namespace Modules.VacationForms
Public MustInherit Class View
Inherits PortalModuleBase
这是对象类的开头:
Namespace Modules.VacationForms
Public MustInherit Class Vacation
我真的不确定为什么这不起作用。我确实下载了另一个模块代码进行比较,据我所知,一切都是一样的。任何帮助表示赞赏。
答案 0 :(得分:2)
您使用的是网站项目还是Web应用程序项目? Web应用程序项目将允许您将所有代码编译在一起(这里唯一的问题可能是项目中的根命名空间设置,但是,假设两个类都在同一个项目中,那不应该是它)。如果您在Web站点项目中(例如直接在DNN解决方案中开发),那么您的代码将不会按照传统意义进行编译,而是由DNN按需编译。它只对与请求的控件/页面相关联的文件(例如,您的View.ascx.vb)和App_Code文件夹中的代码文件执行此操作。我猜你的挂断是你的Vacation
类'代码文件不在App_Code文件夹中。
答案 1 :(得分:0)
看起来您没有使用Web应用程序项目进行模块开发。最简单的事情是安装模块开发模板(来自你的dnn版本的dotnetnuke.codeplex.com下载入门套件包)。
如果您的模块过于简单并且您不想这样做,或者您不想在您的电脑中安装模板,您可以执行以下操作:
希望这有帮助