Si pongo un control en un archivo .aspx como este;Cambiar los modificadores de acceso de controles ASP.NET
<asp:TextBox ID="protectedTextBox" runat="server">Some info</asp:TextBox>
Obtengo un control declarado en el archivo .aspx.designer.cs de la página;
protected global::System.Web.UI.WebControls.TextBox protectedTextBox;
Pero me gustaría cambiar el modificador de acceso del control a public
. ¿Hay algún atributo o similar que pueda configurar para cambiar el modificador de acceso?
Aquí está por qué Quiero hacerlo. Estoy intentando que las devoluciones de páginas cruzadas funcionen de forma agradable y ordenada. Tengo dos páginas:
FirstPage.aspx
MyTextBox : textbox
MyButton : button, @PostbackUrl=Secondpage
SecondPage.aspx
MyLabel : label
Cuando el usuario hace clic FirstPage.MyButton, quiero escribir el valor de FirstPage.MyTextBox.Text
en SecondPage.MyLabel.Text
. Podría hacerlo con Page.FindControl, pero esto parece un sustituto pobre para convertir la página anterior como un objeto de FirstPage y referirme directamente al control MyTextBox en él. Algo como esto;
// on the page_load of SecondPage.aspx;
var previousPage = this.PreviousPage as FirstPage;
this.MyLabel.Text = previousPage.MyTextBox.Text;
¿Hay alguna manera de cambiar el modificador de acceso?
esto solo es válido para el proyecto de aplicación web. para el sitio web no hay archivo de diseñador. en este caso, la respuesta de @ Steve_Cooper funcionará. public TextBox PublicTextBox {get {return this.MyTextBox; }} – Ozgur