为什么我不能从内联 ASPX代码块添加控件页面的标题?它的工作原理来自后面的代码。
标记只是没有添加到页面中。
是页面生命周期吗?
在aspx页面中:
<%
StyleSheet.AddToHeader(Page, New List(Of String)({
"~/CSS/bootstrap.min.css",
"~/CSS/skin.css"
}))
%>
Imports Microsoft.VisualBasic
Imports System.Web.UI
Public Class StyleSheet
Public Shared Sub AddToHeader(ByRef currentPage As Page, ByVal pathList As List(Of String))
For Each singlePath In pathList
Dim lineBreak As New Literal()
Dim stylesheet As New HtmlLink()
lineBreak.Text = Environment.NewLine
stylesheet.Attributes.Add("rel", "stylesheet")
stylesheet.Attributes.Add("type", "text/css")
stylesheet.Href = currentPage.ResolveUrl(singlePath)
currentPage.Header.Controls.Add(lineBreak)
currentPage.Header.Controls.Add(stylesheet)
Next
End Sub
End Class
答案 0 :(得分:1)
内联执行的代码(内部&lt;%和%&gt; )在流式传输到客户端计算机时完成。
你不能这样做,并期望更新标题,因为你在对象执行它的“RenderControl”内部例程后正在改变它。
大多数代码都在渲染发生之前发生,这就是为什么你可以在没有问题的情况下在幕后进行。