2009-08-05 25 views
0

マイaspxページがありますアクセス隠された入力変数は

<input type="hidden" id="txtHidden" runat="server" /> 

このaspxページは、基本ユーザーコントロールクラスのメソッドを呼び出しASCXコントロール(BaseUserControlから継承)を有する

base.SetHidden("test"); 

ベースユーザーコントロールクラス(System.Web.UI.UserControl)から継承SetHidden定義を有する

public void SetHidden(string s) 
{ 
    //Here I need to get a reference to txtHidden and set it's value 

} 

答えて

0

試してみてください:

<input type="hidden" id="txtHidden" runat="server" /> 

次に、サーバー側を変更できるようにしてください。

:ああ、わかります。

あなたのコントロールからこれを試してみてください:

Page.Form.FindControl("txtHidden") 
+0

はい、私はrunat属性(編集元の投稿)を持っています。私はまだ基​​本クラスからtxtHiddenにアクセスすることができません – Nick

0

をあなたは、あなたがそれでコントロールにアクセスすることができ、ページの実際のクラスにページ参照をキャストする必要があります。

((TheActualPageClass)Page).txtHidden.Value = s; 
+0

キャストの唯一の問題は、コントロールがコントロールを再利用することを制限する依存関係を作成し、そのページにキャストしてキャストすることが必要であるということです。 Page.Form.FindControlを使う方が良い – Randolpho

1

これを試してみてください:

public void SetHidden(string s) 
{ 
    HtmlInputHidden myHidden = (HtmlInputHidden)this.Page.FindControl("txtHidden"); 
    myHidden.Value = s; 
}