Wenn ich ein Steuerelement in eine ASPX-Datei wie folgt einfügen;Ändern Sie die Zugriffsmodifikatoren von ASP.NET-Steuerelementen
<asp:TextBox ID="protectedTextBox" runat="server">Some info</asp:TextBox>
Ich bekomme ein deklariertes Steuerelement in der Datei .aspx.designer.cs;
protected global::System.Web.UI.WebControls.TextBox protectedTextBox;
Aber ich möchte den Zugriffsmodifizierer der Steuerung public
ändern. Gibt es ein Attribut oder ähnliches, das ich einstellen kann, um den Zugriffsmodifizierer zu ändern?
Hier ist warum Ich möchte es tun. Ich versuche, Cross-Page-Postbacks schön und ordentlich arbeiten zu lassen. Ich habe zwei Seiten:
FirstPage.aspx
MyTextBox : textbox
MyButton : button, @PostbackUrl=Secondpage
SecondPage.aspx
MyLabel : label
Wenn der Benutzer FirstPage.MyButton klickt, ich möchte den Wert von FirstPage.MyTextBox.Text
in SecondPage.MyLabel.Text
schreiben. Ich könnte es mit Page.FindControl tun, aber das scheint ein schlechter Ersatz zu sein, um die vorherige Seite als FirstPage-Objekt zu übertragen und direkt auf das MyTextBox-Steuerelement zu verweisen. Etwas wie das;
// on the page_load of SecondPage.aspx;
var previousPage = this.PreviousPage as FirstPage;
this.MyLabel.Text = previousPage.MyTextBox.Text;
Gibt es eine Möglichkeit, den Zugriffsmodifizierer zu ändern?
Dies gilt nur für Web Application Project. Für die Website gibt es keine Designer-Datei. In diesem Fall wird @ Steve_Cooper's Antwort funktionieren. öffentliche TextBox PublicTextBox {get {return this.MyTextBox; }} – Ozgur