2012-03-31 2 views
0

私は、ボタンをクリックしたときに動的なテキストボックスを作成してから、別のボタンをクリックして値を表示しています。私はajax updatepanelを使うまではうまく動作します。その場合、2番目のボタンを押すと値は表示されません。私のaspxコードは次のとおりです。動的なテキストボックスがupdatepanelで機能しない

ASPXマークアップは次のとおりです。

<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
    <ContentTemplate> 
     <div id="divRT" runat="server"> 
     </div> 
      <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> 
    </ContentTemplate> 
    <Triggers> 
    <asp:AsyncPostBackTrigger ControlID="btnAccessValues" EventName="Click" /> 
    <asp:AsyncPostBackTrigger ControlID="lbnAddNew" EventName="Click" /> 
    </Triggers> 
</asp:UpdatePanel> 
<div> 
    <asp:Button ID="btnAccessValues" Text="save" runat="Server" OnClick="btnAccessValues_Click" /> 
    <br /> 
    <br />  
</div> 

コードの値を表示します。

Protected Sub btnAccessValues_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnAccessValues.Click 
     If ViewState(strVS_DynamicIds) IsNot Nothing Then 
      Dim lstDynId As List(Of String) = DirectCast(ViewState(strVS_DynamicIds), List(Of String)) 
      For Each strId As String In lstDynId 
       Dim tbx As TextBox = DirectCast(divRT.FindControl(strId), TextBox) 

       Response.Write(tbx.Text) 
       Label1.Text = tbx.Text 
      Next 
     End If 
    End Sub 

私は参照としてこの記事を使用しています:

http://www.c-sharpcorner.com/uploadfile/abhijeetsinghai/creating-textboxes-dynamically-at-runtime/

ソリューションを提案してください。あなたが戻って、各ポストのあなたの動的に追加したコントロールを再作成しなければならなかったしなければならない

よろしく、 アシフハミード

答えて

0

私はリストボックス選択されたインデックスの変化にこれらのテキストボックスを作成しています再び

<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
    <ContentTemplate> 
     <div id="divRT" runat="server"> 
     </div> 
      <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> 
    </ContentTemplate>   
</asp:UpdatePanel> 
<div> 
    <asp:Button ID="btnAccessValues" Text="save" runat="Server" OnClick="btnAccessValues_Click" /> 
    <br /> 
    <br />  
</div> 
+0

こんにちは、トリガーを削除しましたが、同じエラーです。ポストバック後にテキストボックスの値にアクセスすることはできません – DotnetSparrow

+0

完全なコードを表示してください。私はすでにそのブログコードを実装しており、更新パネルでうまく動作しています –

0

.. のでどちらかPage_InitかをPage_Loadでそれらを再作成します。

+0

を試してみてください、あなたのシナリオを実装私が見つけた唯一の問題は、トリガーで、コメントはコード内でトリガーようにしてみてください。私はselectedindexを関数にパラメータとして渡し、dbストアドプロシージャを呼び出します。私がpage_initでこのメソッドを呼び出そうとすると、選択されたインデックスは常に空白/ – DotnetSparrow

+0

私はあなたがそれらにアクセスする前にそれらを再定義しなければならないと言わなければならないと言っていました。あなたのケースでは、再定義するためにViewStateをViewStateあなたのtexboxes .. ???私のポイントを持っていますか?つまり、選択したインデックスをViewStateに保存してPage_Loadに使用します。 – Tami

関連する問題