Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
De igual modo que puede crear páginas de formularios Web Forms utilizando archivos de código subyacente (separando la sintaxis de la interfaz de usuario (en el archivo .aspx) de la lógica que la página ejecuta (el archivo de código subyacente)), puede utilizar el mismo procedimiento para crear controles de usuario. Las técnicas son las mismas, con algunas pequeñas diferencias.
Nota Si utiliza una herramienta RAD (Rapid application development, desarrollo rápido de aplicaciones), como Visual Studio .NET, para crear las aplicaciones ASP.NET, el uso predeterminado de la herramienta es emplear técnicas de código subyacente para crear controles de usuario y páginas de formularios Web Forms. Cuando cree una aplicación Web mediante Visual Studio .NET, todas las páginas y controles de usuario de la aplicación deben estar escritas en el mismo lenguaje de programación.
Para desarrollar controles de usuario en un archivo de código subyacente
Cree un archivo de código subyacente que incluya los espacios de nombres a los que el control de usuario deberá tener acceso. Como mínimo, debe incluir los espacios de nombres System y System.Web.UI, además de todos los espacios de nombres que requiera el control de usuario.
Imports System Imports System.Web.UI Imports System.Web.UI.WebControls [C#] using System; using System.Web.UI; using System.Web.UI.WebControls;Declare una clase que se herede de la clase UserControl y escriba código para proporcionar la funcionalidad que desee. Incluya todos los métodos de control de eventos que escriba para el control de usuario. Declare también instancias públicas de los controles de servidor ASP.NET que piense utilizar en el control de usuario.
Public Class MyCodeBehind Inherits UserControl Public Name As TextBox Public Result As Label Public Sub SubmitBtn_Click(sender As Object, e As EventArgs) Result.Text = "Hi, " & Name.Text & ", welcome to ASP.NET!" End Sub End Class [C#] public class MyCodeBehind : UserControl { public TextBox Name; public Label Result; public void SubmitBtn_Click(Object sender, EventArgs e) { Result.Text = "Hi, " + Name.Text + ", welcome to ASP.NET!"; } }Asigne un nombre al archivo de código subyacente, asegurándose de que incluye una extensión que refleje el lenguaje en que ha desarrollado el archivo. De lo contrario, se producirá un error de compilación. En este ejemplo, el control de usuario desarrollado en Visual Basic se denomina
UserControl.vb, y el desarrollado en C# se denominaUserControl.cs.Cree un archivo .ascx, utilizando la directiva @ Control para indicar el nombre de la clase que el control de usuario hereda y la ruta de acceso al archivo de código fuente creado en el paso 1. Incluya los controles de servidor y el texto que debe mostrar el control de usuario. Cuando declare el atributo ID en cada control de servidor, asegúrese de que éste coincide con el nombre de la instancia que ha creado en el archivo de código subyacente. Por ejemplo, el atributo
IDdel elemento<asp:textbox/>mostrado a continuación esName, que se corresponde con el control de servidor TextBoxNamedel paso 2.<%@ control inherits = "MyCodeBehind" src = "UserControl.vb" %> <p>Name: <asp:textbox id="Name" runat="server"/> <br> <asp:button text="Click Me" OnClick="SubmitBtn_Click" runat="server"/><br> <asp:label id="Result" runat = "server" /> [C#] <%@ control inherits = "MyCodeBehind" src = "UserControl.cs" %> <p>Name: <asp:textbox id="Name" runat="server"/> <br> <asp:button text="Click Me" OnClick="SubmitBtn_Click" runat="server"/><br> <asp:label id="Result" runat = "server" />Incluya el control de usuario en las páginas de formularios Web Forms en las que desee mostrar su funcionalidad. Para obtener más información, vea Incluir un control de usuario en una página de formularios Web Forms.
Vea también
Introducción a los controles de usuario de formularios Web Forms | Modelo de código de formularios Web Forms | Incluir un control de usuario en una página de formularios Web Forms | @ Control | UserControl