用于编辑的图标在自定义DotNetNuke模块中丢失

时间:2013-05-15 14:22:27

标签: dotnetnuke dotnetnuke-module

我正在使用DNN 7.00.04。

我开发了一个自定义模块,当我以超级用户身份登录并在页面级别进入编辑模式时,某些图标不显示。

以下屏幕截图显示,Exam Tracker模块仅显示一个图标。 Some icons do not display for custom module

如何确保自定义模块显示丢失的图标?

更新:我发现当我在自定义模块视图用户控件的代码隐藏中注释了一些代码时,会显示第三个图标。但我不知道为什么Page_Init事件中的代码导致第三个图标(从左侧)不显示?此视图控件的代码如下所示。

 Public Class viewExamTracker
    Inherits DotNetNuke.Entities.Modules.PortalModuleBase   'System.Web.UI.UserControl

    Protected Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
        Dim x As Boolean = Me.IsEditable

        '******** CODE BELOW NEEDED TO BE COMMENTED FOR THIRD ICON to show  up******
        Dim action As DotNetNuke.Entities.Modules.Actions.ModuleAction = New DotNetNuke.Entities.Modules.Actions.ModuleAction(GetNextActionID)
        action.Title = "Add New Exam"
        action.CommandName = ""
        action.Url = EditUrl()
        action.Secure = SecurityAccessLevel.Edit
        action.Visible = True
        MyBase.Actions.Add(action)**
        'MyBase.Actions.Add(GetNextActionID, "Add New Exam", "", "", "", URL:=EditUrl(), secure:=SecurityAccessLevel.Edit, Visible:=True)
    End Sub
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        'Put user code to initialize the page here

        Dim objExamTracker As New ExamTrackerController
        Dim list As ArrayList

        If Not Page.IsPostBack Then
            list = objExamTracker.GetExamTrackerList()
            Me.grdExamTracker.DataSource = list
            Me.grdExamTracker.DataBind()
        End If
    End Sub

1 个答案:

答案 0 :(得分:2)

对此有点想法。最右边的图标是“移动”图标。这是来自DNN的选择性显示图标,基于外观布局和窗格上的其他模块。例如,如果页面上只有一个模块,并且您在皮肤中只有一个窗格,则它不会显示。在这种情况下,它“应该”在那里,所以你可能会检查你的容器,看看你是否有任何可能导致问题的特殊情况。

对于“编辑铅笔”图标,仅显示在您的自定义模块中是否实现了IActionable接口并为模块提供至少一个操作。因此,您需要检查您的UI类是否实现了该接口以使其正常工作。