Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 更改ASP.NET控件的访问修饰符_C#_Asp.net_Controls_Access Modifiers - Fatal编程技术网

C# 更改ASP.NET控件的访问修饰符

C# 更改ASP.NET控件的访问修饰符,c#,asp.net,controls,access-modifiers,C#,Asp.net,Controls,Access Modifiers,如果我像这样在.aspx文件中放置一个控件 <asp:TextBox ID="protectedTextBox" runat="server">Some info</asp:TextBox> 但是我想将控件的访问修饰符更改为public。是否有任何属性或类似属性可以设置为更改访问修饰符 这就是为什么我要这么做。我正在努力让跨页回发工作良好和整洁。我有两页: FirstPage.aspx MyTextBox : textbox MyButton : bu

如果我像这样在.aspx文件中放置一个控件

<asp:TextBox ID="protectedTextBox" runat="server">Some info</asp:TextBox>
但是我想将控件的访问修饰符更改为
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;

有没有办法更改访问修饰符?

我考虑过的一个选项是编写公开原始页面的公共属性

public TextBox PublicTextBox { get { return this.MyTextBox; } }

这将完成工作,但看起来很粗糙。

您可以从设计器中删除声明,并将其放在代码中

围绕宣言的评论说要这样做

/// To modify move field declaration from designer file to code-behind file.

Steve,如果您需要操作这些控件,则公开该页面的控件是有意义的,但在您的情况下,您只需要将一些数据(该字符串)传递给另一个处理程序,因此我将公开该数据,而不是控件本身。

这仅对Web应用程序项目有效。对于网站,没有设计器文件。在这种情况下,@Steve_Cooper的答案会起作用。public TextBox PublicTextBox{get{返回this.MyTextBox;}}
/// To modify move field declaration from designer file to code-behind file.