2012-06-20 57 views
1

有没有任何方法可以将自定义类添加到外部div,该外部div包含通过容器将模块放置在页面上时创建的“DnnModule”类?目前,如果我制作的容器需要以特定宽度左移,那么除非使用javascript进入HTML并将我的浮动属性添加到DnnModule级别div,否则无法利用该布局。例如,如果我使用脚手架系统(bootstrap)并且想要添加具有不同大小(span3,span6,span12)的几个容器,那么当我将这些容器添加到内容窗格时,布局是由于DNN在每个模块周围添加的外部div,因此被忽略。从CSS布局的角度来看,这是极其有限的,它迫使皮肤开发人员创建许多单独设计的皮肤,而不是使用多个容器的皮肤来创建更多的灵活性。将CSS class添加到DnnModule外部div

回答

1

找到答案的DotNetNuke.com论坛:

<script runat="server">  
    Private Sub Page_PreRender(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.PreRender 
     Try 
      Dim cParent As HtmlGenericControl = CType(Me.Parent, HtmlGenericControl) 
      cParent.Attributes("class") = cParent.Attributes("class") + " span6" 
     Catch ex As Exception 
     End Try 
    End Sub 
</script> 

添加到这个容器.ascx文件让我插入我自己的具体类到包装div。

来源:http://www.dotnetnuke.com/Resources/Forums/forumid/109/threadid/458919/scope/posts.aspx

0

我认为DIV总是由DNN自动添加,并且它总是拥有DNNModule类,我认为不存在皮肤或容器的扩展点来修改它。

这意味着我认为你最好的选择是使用jQuery(其中,IIRC被烘焙成当前的DNN图像),并将其初始化为皮肤.ascx文件。

喜欢的东西(未测试):

$(".DNNModule").addClass("MyMagicClass"); 
1

C#版本:

<script runat="server">  
    protected void Page_PreRender(object sender, EventArgs e) { 
     try { 
      HtmlGenericControl cParent = (HtmlGenericControl) this.Parent; 
      cParent.Attributes["class"] += " span6"; 
     } catch (Exception ex) { 
      // do nothing 
     } 
    } 
</script>