2012-03-31 3 views
0

Я создаю динамические текстовые поля при нажатии кнопки, а затем показываю значения на другой кнопке. Он отлично работает, пока я не использую ajax updatepanel. В этом случае значения не отображаются, когда я нажимаю вторую кнопку. Мой 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

Я создаю эти текстовые поля на ListBox выбранного изменения индекса. Я передаю selectindex как параметр в функцию, который затем вызывает хранимую процедуру db. Если я попытаюсь вызвать этот метод в page_init, выбранный индекс всегда будет пустым/ – DotnetSparrow

+0

Я хотел сказать, что вам нужно было переопределить их до того, как вы их получите. В вашем случае я думаю, что вы можете воспользоваться ViewState в загрузке страницы, чтобы переопределить ваши texboxes .. ??? Понял? i.e сохранить выбранный index в ViewState и использовать его на странице_Load .. – Tami

Смежные вопросы