Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 如何访问masterpage.master中masterpage.master.vb中定义的变量_Asp.net_Syntax_Master Pages - Fatal编程技术网

Asp.net 如何访问masterpage.master中masterpage.master.vb中定义的变量

Asp.net 如何访问masterpage.master中masterpage.master.vb中定义的变量,asp.net,syntax,master-pages,Asp.net,Syntax,Master Pages,我在masterpage.master.vb中收集了一组cookie,其中包含Browserhawk信息,例如 Dim useCSS as boolean = 0 Response.Cookies("Stylesheets").Value = brHawk.Stylesheets if Response.Cookies("Stylesheets") = True then useCSS = 1 如果样式表为True,我将useCSS设置为1,如果为false,我将useCSS设置为0 我需要在

我在masterpage.master.vb中收集了一组cookie,其中包含Browserhawk信息,例如

Dim useCSS as boolean = 0
Response.Cookies("Stylesheets").Value = brHawk.Stylesheets
if Response.Cookies("Stylesheets") = True then useCSS = 1
如果样式表为True,我将useCSS设置为1,如果为false,我将useCSS设置为0 我需要在母版页的部分访问这些内容。母版,例如

if useCSS = true 
Then load stylesheet 
else 
Dont load stylesheet

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

使用css变量public variable并在主文件中编写此代码

<% if ( useCSS == true ) { %>
  <link rel="stylesheet" href="" type="text/css" media="screen" />
<% } %>


注:我是C#Guy:)。我不知道您是否必须将其更改为与VB一起使用。

您需要将其作为属性公开,以便在标记上使用它

在代码隐藏中:

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 %>
在代码隐藏中,例如在页面加载时:

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

正如Ahmed所建议的,与其将useCSS作为公共变量,不如将其作为porperty公开。@Ahmad:+1表示建议属性:)
<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