このような.aspxファイルにコントロールを配置すると、ASP.NETコントロールのアクセス修飾子を変更する
ページの.aspx.designer.csファイルでコントロールが宣言されています。
protected global::System.Web.UI.WebControls.TextBox protectedTextBox;
ただし、コントロールのアクセス修飾子をpublic
に変更したいとします。アクセス修飾子を変更するために設定できる属性などはありますか?
ここにはなぜしたいですか?私はクロスページポストバックがきれいにうまく動作するようにしようとしています。ユーザーがFirstPage.MyButtonをクリックすると、私はSecondPage.MyLabel.Text
へFirstPage.MyTextBox.Text
の値を書きたい、
FirstPage.aspx
MyTextBox : textbox
MyButton : button, @PostbackUrl=Secondpage
SecondPage.aspx
MyLabel : label
:私は2つのページがあります。私は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の答えはうまくいくでしょう。パブリックTextBox PublicTextBox {get {return this.MyTextBox; }} – Ozgur