2013-02-13 28 views
0

当我们应用CSS时,DNN文本编辑器不工作吗?应用CSS时DNN文本编辑器不工作

我看到下列错误: 'System.Web.UI.UserControl' does not contain a definition for 'Mode' and no extension method 'Mode' accepting a first argument of type 'System.Web.UI.UserControl' could be found (are you missing a using directive or an assembly reference?)

回答

1

它看起来像你正在运行到其中的文本编辑器控件的类型是不知道的问题,所以当你从代码隐藏访问它,它的类型为一个UserControl,而不是一个DotNetNuke.UI.UserControls.TextEditor

这是因为您正在从DotNetNuke源代码中引用一个控件,而该源代码不是模块项目的一部分,因此Visual Studio不知道您在说什么。解决这个问题的第一种方法是将控件的声明从设计器文件移动到代码隐藏,并将类型更改为TextEditor而不是UserControl

解决此问题的更好方法是将项目的属性更改为指向DNN站点,以便Visual Studio 可以通过了解该控件。这需要让您的项目在注册到IIS的DNN网站中生存。然后,您可以转到项目设置中的Web选项卡,并在服务器部分,检查使用本地IIS Web服务器单选按钮。然后将Project Url设置为指向您模块的文件夹(例如http://dnndev.me/DesktopModules/MyModule)。检查覆盖应用程序根URL复选框,并输入该网站的根目录(例如http://dnndev.me)。这个应该允许Visual Studio找到控件并从中解析出正确的类型。您可能需要对ascx控件进行更改,并在正确更新之前重新保存它。