asp.net - 如何在 masterpage.master 中访问 masterpage.master.vb 中定义的变量

标签 asp.net syntax master-pages

我有一个在 masterpage.master.vb 中填充有 Browserhawk 信息的 cookie 集合,例如;

Dim useCSS as boolean = 0
Response.Cookies("Stylesheets").Value = brHawk.Stylesheets
if Response.Cookies("Stylesheets") = True then useCSS = 1

如果 Stylesheets 为 True,我将 useCSS 设置为 1,如果为 false,我将 useCSS 设置为 0 我需要在 masterpage.master 部分访问这些内容,例如;

if useCSS = true 
Then load stylesheet 
else 
Dont load stylesheet

我在寻找正确的语法来使其正常工作时遇到问题。

最佳答案

您需要将其公开为属性才能在标记上使用它。

在隐藏代码中:

Private _useCss As Boolean
Public Property UseCss() As Boolean
    Get
        Return _useCss
    End Get
    Set(ByVal value As Boolean)
        _useCss = value
    End Set
End Property

然后在标记中:

    <%  If UseCss = True Then %>
    Your stylesheet link tag here
    <% Else %>
    else could be optional if you won't load anything
    <%  End If %>

或者你可以:

    <%  If UseCss = True Then
            Response.Write("text")
        Else
            Response.Write("something else")
        End If
    %>

另一个选择是为您的 head 标记提供一个 ID,并以编程方式向其中添加 CSS 文件。为此,您不需要属性,可以直接使用变量。

在您的标记中:

<head runat="server" id="head">
   <%-- whatever you typically place here --%>
</head>

在您的代码隐藏中,例如在页面加载时:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If useCss Then
        Dim stylesheet As New HtmlGenericControl("link")
        stylesheet.Attributes.Add("rel", "stylesheet")
        stylesheet.Attributes.Add("type", "text/css")
        stylesheet.Attributes.Add("href", "../css/myCssFile.css")
        FindControl("head").Controls.Add(stylesheet)
    End If
End Sub

关于asp.net - 如何在 masterpage.master 中访问 masterpage.master.vb 中定义的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2176659/

相关文章:

asp.net - 我们可以将 asp.net mvc 4 应用程序部署到带有 Windows 容器的 docker 吗?

ASP.NET 网站还是 ASP.NET Web 应用程序?

c++ - 这个条件检查语句在 for 循环中合法吗?

jQuery element.data() 语法。我怎么知道 `$(this)` 是什么?

ruby - 范围生成中 '..'(双点)和 '...'(三点)之间的区别?

javascript - 如何使用 ContentPlaceHolder 设置页面级别、页面特定的 javascript 事件?

asp.net - 如何在查询中将拆分字符串函数与 OLEDB.Jet 用于 Excel 文件

c# - ASP.NET 母版页的动态变化

jquery - 'panelName' 的 DefaultButton 必须是 IButtonControl 类型的控件的 ID

c# - ASP.NET 的调试工具栏