Ste*_*per 6 c# asp.net controls access-modifiers
如果我把控件放在像这样的.aspx文件中;
<asp:TextBox ID="protectedTextBox" runat="server">Some info</asp:TextBox>
Run Code Online (Sandbox Code Playgroud)
我在页面的.aspx.designer.cs文件中获得了一个声明的控件;
protected global::System.Web.UI.WebControls.TextBox protectedTextBox;
Run Code Online (Sandbox Code Playgroud)
但是我想将控件的访问修饰符更改为public
.我可以设置任何属性或类似物来更改访问修饰符吗?
这就是我想要做的原因.我试图让跨页回发工作很好,整洁.我有两页:
FirstPage.aspx
MyTextBox : textbox
MyButton : button, @PostbackUrl=Secondpage
SecondPage.aspx
MyLabel : label
Run Code Online (Sandbox Code Playgroud)
当用户单击FirstPage.MyButton时,我想写入FirstPage.MyTextBox.Text
into 的值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;
Run Code Online (Sandbox Code Playgroud)
有没有办法更改访问修饰符?
您可以从设计器中删除声明并将其放在您的代码中.
声明周围的评论说这样做.
/// To modify move field declaration from designer file to code-behind file.
Run Code Online (Sandbox Code Playgroud)