2014-01-10 18 views
1

为什么我无法添加控件页面的标题从内联ASPX代码块?它来自后面的代码。为什么我无法从内联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 

回答

1

被内联执行的代码(内部<%和%>),同时它被流传输到客户端计算机来完成。

你不能这样做,并期望标题被更新,因为你已经执行了它的“RenderControl”内部例程后改变对象。

大部分背后的代码发生在渲染发生之前,这就是为什么你可以在幕后做到这一点没有问题。

相关问题