如果我将控件放在.aspx文件中,更改ASP.NET控件的访问修饰符
<asp:TextBox ID="protectedTextBox" runat="server">Some info</asp:TextBox>
我在页面的.aspx.designer.cs文件中得到一个声明的控件;
protected global::System.Web.UI.WebControls.TextBox protectedTextBox;
但我想将控件的访问修饰符更改为public
。是否有可以设置更改访问修饰符的属性或类似属性?
这里的为什么我想这样做。我正在尝试跨页面回发工作很好,很整齐。我有两个页面:
FirstPage.aspx
MyTextBox : textbox
MyButton : button, @PostbackUrl=Secondpage
SecondPage.aspx
MyLabel : label
当用户点击FirstPage.MyButton,我想的FirstPage.MyTextBox.Text
值写入SecondPage.MyLabel.Text
。我可以用Page.FindControl来做到这一点,但是这看起来像是将上一页作为FirstPage对象转换并直接引用MyTextBox控件的可选替代品。像这样的东西;
// on the page_load of SecondPage.aspx;
var previousPage = this.PreviousPage as FirstPage;
this.MyLabel.Text = previousPage.MyTextBox.Text;
有什么方法可以改变访问修饰符吗?
这仅适用于Web应用程序项目。对于网站没有设计师文件。在这种情况下,@ Steve_Cooper的答案将起作用。 public TextBox PublicTextBox {get {return this.MyTextBox; }} – Ozgur 2012-11-14 12:27:15