@ Reference

[Esta documentação destina-se apenas à visualização e está sujeita a alterações em versões posteriores. Os tópicos em branco estão incluídos como espaços reservados.]

Indica que outro usuário controle, arquivo de origem da página ou arquivo arbitrário, localizado em algum caminho virtual deve ser dinamicamente compilado e vinculado em relação à página ASP.NET file (página da Web, controle de usuário ou página-mestre) na qual essa diretiva é declarada.

<%@ Reference Page="path to .aspx page"
   Control="path to .ascx file"
   virtualPath="path to file" %>

Atributos

  • Page
    O external página ASP.NET dinamicamente deve compilar e vincular ao arquivo atual que contém o @ Reference diretiva.

  • Control
    O usuário externo de controle que o ASP.NET dinamicamente deve compilar e vincular ao arquivo atual que contém o @ Reference diretiva.

  • virtualPath
    O caminho virtual para a referência. Pode ser qualquer tipo de arquivo, desde que um provedor de compilação existe. Por exemplo, seria possível apontar para uma página mestra.

Remarks

Usando essa diretiva permite que você dinamicamente compilar uma página, um controle de usuário ou outro tipo de arquivo que está associado um provedor de compilação e vinculá-lo para a página da Web atual, controle de usuário ou arquivo de página mestra que contém o @ Reference diretiva. Isso permite que você faça referência a objeto externo compilado e seus membros públicos de dentro do arquivo atual.

Exemplo

O exemplo de código a seguir demonstra o uso essa diretiva para vincular um controle de usuário e carregá-lo para uma página contendo usando o LoadControl método. A primeira parte do código é um controle de usuário simples. Você deve colocar este código em um novo arquivo e nomeie-o como MyControl.ascx. A segunda parte do código é uma página que faz referência ao controle de usuário. Quando ele é carregado na página, o controle de usuário LabelText valor é definido e o controle de usuário é adicionado a um PlaceHolder controle de servidor System.Web.UI.ControlCollection através do objeto a Control.Controls propriedade.

<%@ Control language="C#" ClassName="MyControl" %>
<script runat="server">
  
  private string _labelText;
  
  public string LabelText
  {
    get { return _labelText; }
    set
    {
      if(!String.IsNullOrEmpty(value))
        _labelText = Server.HtmlEncode(value);
    }
  }

  void label1_init(object sender, EventArgs e)
  {
    label1.Text = LabelText;
  }
</script>

<asp:label id="label1" runat="server" Text="" 
  oninit="label1_init" />


<%@ Page language="C#" %>
<%@ Reference Control="MyControl.ascx" %>
<script runat="server">

  void Page_Load(Object sender, EventArgs e) 
  {
    MyControl ctrl = (MyControl) Page.LoadControl("MyControl.ascx");
    ctrl.LabelText = "Hello World!";
    PlaceHolder.Controls.Add(ctrl);
  }

</script>

<html>
   <body>
      <asp:placeholder id="PlaceHolder" runat="server" />
   </body>
</html>
<%@ Control language="VB" ClassName="MyControl" %>
<script runat="server">

  Dim _labelText As String
  
  Public Property LabelText() as String
    Get
      Return _labelText
    End Get
    Set(Byval value as String)
      If Not String.IsNullOrEmpty(value) Then
        _labelText = Server.HtmlEncode(value)
      End If
    End Set
  End Property

  Sub label1_init(Byval sender as Object, _
    ByVal e as EventArgs)
    label1.Text = LabelText
  End Sub

</script>

<asp:label id="label1" runat="server" Text="" 
  oninit="label1_init" />


<%@ Page language="VB" %>
<%@ Reference Control="MyControl.ascx" %>
<script runat="server">

  Sub Page_Load(ByVal sender As Object, _
    ByVal e As EventArgs)
    
    Dim ctrl As MyControl = _
     CType(Page.LoadControl("MyControl.ascx"), MyControl)
    ctrl.LabelText = "Hello World!"
    PlaceHolder.Controls.Add(ctrl)
  End Sub

</script>

<html>
   <body>
      <asp:placeholder id="PlaceHolder" 
        runat="server" />
   </body>
</html>

Consulte também

Reference

Sintaxe de diretiva de modelo de texto

Concepts

ASP.NET Web Page Syntax Overview

Other Resources

ASP.NET User Controls