2012-06-20 91 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>