Добавление ссылки CSS в заголовок с помощью .NET

#asp.net #css

#asp.net #css

Вопрос:

Я использую этот фрагмент кода для добавления ссылки CSS в раздел заголовка :

 <script runat="server">
Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
Dim oCSS As Control = Me.Page.FindControl("CSS")
If Not oCSS is Nothing Then
Dim oLink As New HtmlGenericControl("link")
oLink.Attributes("id") = "MyCss"
oLink.Attributes("rel") = "stylesheet"
oLink.Attributes("type") = "text/css"
oLink.Attributes("href") = SkinPath amp; "MyCss.css"
oCSS.Controls.AddAt(0, oLink)
End if
End Sub
</script>
  

Это работает, но проблема в том, что при этом ссылка CSS помещается поверх всех других ссылок в разделе HEAD. Есть ли способ сделать так, чтобы эта ссылка отображалась внизу всех других ссылок CSS?

А еще лучше, может ли она быть размещена после определенной CSS-ссылки, уже находящейся в разделе head?

Кроме того, как они управляют.AddAt(0, oLink) работает. Он не принимает никаких других чисел, кроме «0» для индекса.

Заранее благодарю, :).

Ответ №1:

Из вашего кода я подозреваю, что элементы управления это ControlsCollection, а в документации к методу AddAt говорится, что первый аргумент — это место в коллекции (0 = first), куда должен быть добавлен элемент управления.

попробуйте это вместо

 oCSS.Controls.Add(oLink)
  

или

 oCSS.Controls.AddAt(oCSS.Controls.Count, oLink)
  

Редактировать:

Попробуйте найти правильный элемент управления с помощью Me.Page.FindControl(«NameOfControl»)

Комментарии:

1. Оба этих варианта по-прежнему добавляют ссылку в начало первого тега ссылки CSS. … Есть ли способ добавить это в начало любого другого тега… скажите прямо перед тегом ‘Title’. ?