Aquí van:
How to: Reference ASP.NET Master Page Content
Desde el artículo, parece que
If Master.SQLerror = Nothing Then
InternalSQLErrLabel.Text = ("No Errors Reported")
End If
debe trabajar para usted.
Simplemente asegúrese de agregar la directiva MasterType como se describe o puede obtener un error de conversión de tipo. (O podría usar una variable de su tipo de página maestra en lugar de Maestro, como sugiere daRoBBie en su respuesta.)
He creado un sitio web de prueba solo para probarlo, y funciona. Aquí está la fuente completa del sitio:
Site1.Master:
<%@ Master Language="VB" AutoEventWireup="false" CodeBehind="Site1.master.vb" Inherits="WebApplication1.Site1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
This is the Master Page content.
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
</div>
</form>
</body>
</html>
Site1.Master.vb:
Public Partial Class Site1
Inherits System.Web.UI.MasterPage
Private _SQLerror As String
Public Property SQLerror() As String
Get
Return _SQLerror
End Get
Set(ByVal value As String)
_SQLerror = String.Empty
End Set
End Property
End Class
WebForm1.aspx:
<%@ Page Title="" Language="vb" AutoEventWireup="false" MasterPageFile="~/Site1.Master"
CodeBehind="WebForm1.aspx.vb" Inherits="WebApplication1.WebForm1" %>
<%@ MasterType VirtualPath="~/Site1.Master" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
This is the Content Page content.
<asp:Label ID="InternalSQLErrLabel" runat="server" Text="Label"></asp:Label>
</asp:Content>
WebForm1.aspx.vb:
Public Partial Class WebForm1
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Master.SQLerror = Nothing Then
InternalSQLErrLabel.Text = ("No Errors Reported")
End If
End Sub
End Class
¡Eso es lo que estaba intentando antes de hacer mi pregunta, pero sin suerte! ... yo obtengo; SQLError no es miembro de system.web.ui.masterpage. – Phil
¿Agregó la directiva MasterType? Parece que ese podría ser tu problema. La propiedad principal no está fuertemente tipada, por lo que es de tipo System.Web.UI.MasterPage, que no tiene su propiedad. –
Tengo <% @ MasterType VirtualPath = "~/my.master" "%> y en @page MasterPageFile =" ~/my.master " – Phil