0

私は更新パネルを含むページを持っており、その内部にはbutton1が押されたときにテキストボックスが設定されるplaceHolderがあります。更新パネル内の動的に追加されたコントロールの値へのアクセス

ここで、ユーザーがButton2をクリックすると、テキストボックスに入力された値にアクセスする必要があります。私はこの問題の簡単な解決策を見つけるのに苦労しています。

以下のコードスニペットをご覧ください。

<form id="form1" runat="server"> 
<asp:ScriptManager ID="ScriptManager1" runat="server"> 
</asp:ScriptManager> 
<div> 
    <asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
     <ContentTemplate> 
      <asp:PlaceHolder ID="wplcHolder" runat="server"></asp:PlaceHolder> 
     </ContentTemplate> 
    </asp:UpdatePanel> 
    <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" /> 
    <asp:Button ID="Button2" runat="server" Text="Button" onclick="Button2_Click" /> 
</div> 
</form> 

protected void Button1_Click(object sender, EventArgs e) 
{ 
    TextBox _txt = new TextBox(); 
    wplcHolder.Controls.Add(_txt); 
} 

おかげで、 Chandru

答えて

0

私はあなたが与えること言わせて、たとえば、プレースホルダに追加する前に、テキストボックスにIDを与えることをお勧め:理論的には、その後yourTextBoxID

ますあなたのButton2_Clickイベントからこれを行うことができます:

var myTextBox = (wplcHolder.FindControl("yourTextBoxID") as TextBox); 

これは動作しますが、あなたはを追加する場合にのみ、新しいページのライフサイクルがButton2をクリックしてトリガーされたときには、Button1_Clickからのみ行うのであれば、テキストボックスは表示されない可能性が高いので、Page_Initでは常にを制御します。

すべてをテストして確認します;-)

関連する問題