2012-06-20 5 views
1

Есть ли способ добавить пользовательский класс к внешнему div, который содержит класс «DnnModule», который создается, когда модуль размещается на странице через контейнер? В настоящее время, если я создаю контейнер, который должен быть размещен слева с определенной шириной, нет возможности использовать этот макет, если я не использую javascript для входа в HTML и не добавляю свои свойства float в div уровня DnnModule.Добавить класс CSS в внешний вид DnnModule

Например, если я использую систему лесов (бутстрап) и хочу добавить несколько контейнеров разного размера (span3, span6, span12), когда я добавляю модуль в область содержимого с этими контейнерами, макет игнорируется из-за внешнего div, который DNN добавляет вокруг каждого модуля. Это чрезвычайно ограничивает перспективу компоновки CSS и заставляет разработчика скина создавать много индивидуально оформленных скинов, а не пару скинов с несколькими контейнерами, чтобы обеспечить большую гибкость.

ответ

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 skin.

Нечто подобное (не проверено):

$(".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> 
Смежные вопросы