Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Динамические текстовые поля не работают в панели обновлений

Автор вопроса: DotnetSparrowОтветов: 2

Я создаю динамические текстовые поля при нажатии кнопки, а затем показываю значения при нажатии другой кнопки. Он отлично работает, пока я не использую ajax updatepanel. В этом случае значения не отображаются, когда я нажимаю вторую кнопку. Мой код aspx:

разметка 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/

Пожалуйста, предложите решение.

С уважением, Асиф Хамид

Ответы

Ответ 1 · Fraz Sundal

Когда я пытаюсь реализовать ваш сценарий, единственная проблема, которую я обнаружил, - это триггеры, поэтому прокомментируйте триггеры в вашем коде, а затем попробуйте еще раз.

<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>

Ответ 2 · Tami

вам, должно быть, пришлось воссоздавать динамически добавленные элементы управления для каждого сообщения назад.. так что либо воссоздайте их в Page_Init, либо в Page_Load.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы