我用它jquery-style-switcher.js
来改变一些元素的风格.当我点击页面的颜色样式不会改变时,在此页面的源代码中将此类添加jssError error level0
到ul
包含颜色的标记中.此代码在HTML页面中工作,但在CMS中没有!我通过chrome调试这个js文件,并了解当一般html文件中的这个js文件变坏:一个事件调用它执行addClickEvents但在我的网站中使用此模板的网站皮肤:addClickEvents函数不执行.调用addClickEvents的函数是init函数
init: function ($root, config) {
this.$root = $root;
this.config = config ? config : {};
this.setDefaultTheme();
if(this.defaultTheme) {
// try cookies
if (this.config.cookie) {
this.checkCookie();
}
// try hover
if (this.config.hasPreview) {
this.addHoverEvents();
}
// finally, add click events
this.addClickEvents();
} else {
this.$root.addClass('jssError error level0');
}
}
Run Code Online (Sandbox Code Playgroud)
在这个函数(init)中:defaultTheme值未定义!!!!
为什么defaultTheme未定义?如果你能回答这个问题,问题就会解决.
jquery-style-switcher.js:
(function ($) {
var jStyleSwitcher,
_defaultOptions = {
hasPreview: true,
defaultThemeId: 'jssDefault', …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用DotNetNuke中的DAL2访问数据.当我使用repository.Get()来获取某个表的所有字段时,我有时会收到此错误:
'价值不能为空.参数名称:con'
public IEnumerable<SitesProvince> GetAll()
{
using (var ctx = DataContextContent.Instance())
{
var rep = ctx.GetRepository<SitesProvince>();
return rep.Get();
}
}
Run Code Online (Sandbox Code Playgroud)
模型:
[TableName("Sites_Province")]
[PrimaryKey("Sites_Province_No")]
[Cacheable("Sites_Province", CacheItemPriority.Default, 20)]
[Scope("Sites_Province_No")]
public class SitesProvince
{
public int Sites_Province_No { get; set; }
public string BU { get; set; }
public string Province { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
可能是什么问题呢?在某些查询中,它有效,有些则没有,我认为方法之间没有任何区别.
我找到了这个,但我没有合同:http: //clraddins.codeplex.com/discussions/24568
我正在尝试在Web API中为自定义模块使用此属性:
[DnnModuleAuthorize(AccessLevel = DotNetNuke.Security.SecurityAccessLevel.Edit)]
Run Code Online (Sandbox Code Playgroud)
但无论我设置什么SecurityAccessLevel,我都会得到401未经授权的响应.
我能够通过添加以下代码来使代码工作:
[AllowAnonymous]
Run Code Online (Sandbox Code Playgroud)
在方法上,并添加:
if (!ModulePermissionController.CanEditModuleContent(this.ActiveModule))
return Request.CreateErrorResponse(HttpStatusCode.Unauthorized, "You do not have permission to access this content.");
Run Code Online (Sandbox Code Playgroud)
到我的方法的开头,但似乎这是一个我真的不应该需要的解决方法,因为它正是那个属性的用途.我正在运行DNN 7.2.1.
任何人都知道我的属性出错了吗?
我一直在研究在我的DNN 7+网站上实施日志记录.我希望有一个可配置的日志记录级别,例如log4net提供的级别.
我试图按照说明集成DNN网站上的log4net,http: //www.dnnsoftware.com/community-blog/cid/141723/Using-log4net-with-DotNetNuke .添加引用和代码行后使用日志记录:
DnnLog.Info("My Logging Worked!");
Run Code Online (Sandbox Code Playgroud)
该代码报告了一条警告:
'DotNetNuke.Instrumentation.DnnLog'已过时:'"由于性能不佳而在7.0.1中折旧,请使用LoggerSource.Instance"'
我很难找到有关正确做事方式的信息.似乎"DnnLog"已被类似的类替换为与log4net交互,称为"DnnLogger".使用此类(和"LoggerSource"类)的一个不同之处是使用静态方法不再完成日志记录.
用于检索记录器实例的"GetLogger()"函数需要一些参数,我还没有找到任何描述适当用法的文档.DNN源代码有很多例子.从这些示例看,适当的用法是提供当前类.在声明类"MyClass"的文件"MyClass.cs"中,看起来以下内容是正确的:
ILog logger = LoggerSource.Instance.GetLogger(typeof(MyClass));
Run Code Online (Sandbox Code Playgroud)
要么
DnnLogger logger = DnnLogger.GetLogger("MyClass");
Run Code Online (Sandbox Code Playgroud)
使用typeof()的第一行代码返回了什么记录器?我的意思是,这个记录器是否会使用为该站点配置的log4net设置?如果它没有使用log4net设置,保存的日志文件在哪里以及配置设置在哪里调整?我的书呆子想知道typeof()类参数究竟发生了什么,为什么要使用它?
如果第一个示例没有连接log4net(或允许可配置的易于使用的日志记录级别的东西),第二个选项是可行的方法吗?如果是这样,通过什么是合适的字符串?"MyClass"是我的猜测,但我无法证实.
如果我完全偏离这里并且应该从另一个方向接近这个,请随时提出建议.
非常感谢大家!
我正在为DNN 7.1+开发一个模块,我需要根据用户是否具有该模块的编辑权限来显示/隐藏模块中的链接.无论页面是否处于编辑模式,我都希望这种情况发生.
目前,我在自定义模块页面加载事件的view.ascx中有以下代码:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
Try
''other code goes here.......
If IsEditable = True Then
AdminEdit.Visible = True
Else
AdminEdit.Visible = False
End If
Catch exc As Exception
Exceptions.ProcessModuleLoadException(Me, exc)
End Try
End Sub
Run Code Online (Sandbox Code Playgroud)
AdminEdit是我要隐藏的元素的ID.此代码在页面处于编辑模式时有效,但如果用户具有该模块的编辑权限,我希望此代码始终可见,无论编辑模式如何.
现在,如果页面未处于编辑模式,则IsEditbale返回false.
问题:如何在没有页面处于编辑模式的情况下检查用户权限?
编辑:我也很高兴检查用户对包含该模块的页面的编辑权限
以下是我最后的结果,感谢bdukes:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
Try
''display template selector if user has edit rights over module
If DotNetNuke.Security.Permissions.ModulePermissionController.CanEditModuleContent(Me.ModuleConfiguration) Then
AdminEdit.Visible = …
Run Code Online (Sandbox Code Playgroud) 我已经实现了一个使用用户定义控件的DNN模块(这个用户定义控件已经实现了GoogleAnalytics跟踪供我们自己使用)。
该控件需要访问配置文件才能获取我们的谷歌分析帐户的配置设置。例如账户代码(UA-dddddd-dd)等。
我的问题:由于我在 DotNetNuke 上安装模块,放置配置文件的正确位置在哪里,或者默认情况下它将访问什么配置文件?
下面提供了控件中尝试访问配置文件的代码段:
string path = Assembly.GetExecutingAssembly().CodeBase;
FrameworkConfig.instance = new FrameworkConfig(ConfigurationManager.OpenMappedMachineConfiguration(new ConfigurationFileMap(path + ".config")));
Run Code Online (Sandbox Code Playgroud)
注意:FrameworkConfig
是对象的包装类System.Configuration
。
简而言之,我需要知道 Assembly.GetExecutingAssembly().CodeBase
通过 DNN 模块调用时返回什么?其他选择?
c# asp.net configuration-files dotnetnuke-module dotnetnuke-7
你如何NotificationController
在DNN 7.1.2中初始化?
我试过了:
var nc = new DotNetNuke.Services.Social.Notifications.NotificationController();
Run Code Online (Sandbox Code Playgroud)
然而,这是空的,没有方法可以调用......我是在初始化错误的东西吗?
当然应该有东西在那里比其他ToString
,GetType
,Equals
和GetHashCode
我需要能够创建NotificationTypes并创建通知.
谢谢
我遇到了一个问题,即 DAL2 存储库的默认 Get() 函数需要几秒钟才能返回结果。当我使用 SQL Server Management Studio 直接查询数据库以获取记录时,查询会快速返回。该函数是一个基本函数,如下所示:
public MyThing Get(string primaryKey)
{
MyThing myThing;
using (IDataContext ctx = DataContext.Instance(“DATABASECONN”))
{
var rep = ctx.GetRepository<MyThing>();
myThing = rep.GetById(primaryKey);
}
return myThing;
}
Run Code Online (Sandbox Code Playgroud)
该表有 800K+ 条目。
即使启用了缓存设置,该函数在后续执行中也具有相同的执行时间。
为什么这个功能运行缓慢,我该如何加快速度?
我正在尝试将自定义属性保存到DNN 7中的现有用户配置文件,但配置文件属性未设置.我必须正确理解一些事情.
那么,如何在DNN中正确设置自定义配置文件属性?
UserInfo.Profile.SetProfileProperty("key","value")
// I expect this to return "value", but it's always ""
var value = UserInfo.Profile.GetProfileProperty("key");
// Even if I save it...
ProfileController.UpdateUserProfile(UserInfo);
// It always returns ""
var savedValue = UserInfo.Profile.GetProfileProperty("key");
Run Code Online (Sandbox Code Playgroud)
注意:我也尝试过InitialiseProfile,但这并未改变行为.
在遵循为DotNetNuke模块设置开发环境的教程时,从项目模板创建新项目会导致以下错误:
The Web Application Project xxx is configured to use IIS.
The Web server "http://dnndev/desktopmodules/xxx/' could not be found."
Run Code Online (Sandbox Code Playgroud)
如何修复这个问题,因为教程完全遵循了?
dotnetnuke-7 ×10
dotnetnuke ×6
asp.net ×2
c# ×2
sql ×2
.net ×1
css ×1
dotnetnuke-6 ×1
html ×1
iis ×1
iis-6 ×1
jquery ×1
log4net ×1
logging ×1