最好不用在<head>和</head>之间插入占位符然后在Page_load中给占位符赋值的方法,有没有什么系统方法能够做到,或者重写Page类的方法等

解决方案 »

  1.   

    MasterPage
    重写页面基类的Render方法
    都可以实现。如果是2005里用css更简单。放到主题文件夹,应用主题后自动会给你加上去的。
      

  2.   

    能不能详细说明一下呢?Render方法重载如何实现呢??
      

  3.   

    ASP.NET 2.0就最好,用skin很方便,就算不用skin你在MasterPage的head放一个ContentContainer然后就可以在普通Page里面对该ContentContainer添加东西了。如果是ASP.NET 1.0,也可以不重写Render,这是一种比较简单的做法,在HtmlGenericControl的介绍里提到:
    <head id="Head" runat="server"></head>之后你就可以通过Head(实际上是一个HtmlGenericControl的实例)对这个标签进行操作了,你要现里面添加什么都可以啦。不过需要注意的是,VS2003有一个让人很讨厌的地方就是它会自动帮你删除<head>的runat属性(它认为这是个非法属性)。
      

  4.   

    用一个全局变量:
    .aspx:
    <HEAD>
    <%=script%>
    </HEAD>
    .aspx.vb:
    Public Class _default
        Public script As String    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            script = "<script>alert('ok');</script>"
        End Sub
    End Class
      

  5.   

    <asp:Literal ID="Literal1" runat="server"></asp:Literal>
      

  6.   

    http://singlepine.cnblogs.com/articles/285648.html