#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’. ?