ASP.NET метка внутри UpdatePanel не обновляется

Я новичок в ASP.NET и я пытаюсь получить ярлык для обновления с некоторой информацией, которая захватывается, когда я нажимаю кнопку. Функция click вызывается и возвращается просто отлично (я отладил и прошел через все это). Единственное, что не работает, - это то, где я устанавливаю текст меток, которые я пытаюсь обновить.

Это функция, которая вызывается при нажатии на кнопку:

Protected Sub submitbutton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles submitbutton.Click
        Dim res As String() = query(email1.Text)
        If Not res Is Nothing Then
            url1.Text = res(0)
            date1.Text = res(1)
        End If

    End Sub

Я знаю, что он входит в if и пытается установить текст, но ничего происходит на стороне клиента.

Это UpdatePanel у меня есть:

<asp:UpdatePanel ID="UpdatePanelSettings" runat="server" UpdateMode="Always"  >
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="submitbutton" EventName="click" />
        </Triggers>
        <ContentTemplate>
            <table>
                <tr>
                    <td>Emails</td><td>Url Parsed</td><td>Date Created</td>
                </tr>
                <tr>
                    <td>
                        <asp:TextBox runat="server" ID="email1" Width="300" />
                    </td>
                    <td>
                        <asp:Label runat="server" ID="url1" Text="-" />
                    </td>
                    <td>
                        <asp:Label runat="server" ID="date1" Text="-" />
                    </td>
                </tr>
                <tr>
                    <td colspan="3"><asp:Button ID="submitbutton" runat="server" Text="Submit" /></td>
                </tr>
            </table>
        </ContentTemplate>
    </asp:UpdatePanel>

как я уже сказал, Я знаю, что триггер работает, потому что я прошел через код, когда он вызывается. Я знаю, что Вам также нужен ScriptManager, который у меня есть прямо внутри элемента формы, который поставляется на сайте.Мастер-файл (я действительно просто застрял в шаблоне по умолчанию. Это просто доказательство концепции проекта).

<form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server" />

из всех статей, которые я нашел в интернете, это должно быть все, что мне нужно. В одной статье упоминалось, что нужно что-то делать с Интернетом.Config, но он сказал, что для VS 2005, и я использую 2010. В нем говорилось, что вам не нужно ничего менять в 2008 году, поэтому я решил, что то же самое верно для 2010 года. Что мне не хватает, чтобы обновить метки?

3 ответов


Я не работал с этим некоторое время, но вам может потребоваться явно вызвать:

UpdatePanelSettings.Update()

в конце вашей команды.

.

все равно попробуйте.


Вы можете попробовать удалить раздел.

<Triggers>
<asp:AsyncPostBackTrigger ControlID="submitbutton" EventName="click" />
</Triggers>

затем измените UpdatePanel, добавив к нему ChildrenAsTriggers= "true".

<asp:UpdatePanel ID="UpdatePanelSettings" runat="server" UpdateMode="Always" ChildrenAsTriggers="true"  >

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


1) возможно ли, что res-это два пустых элемента?

2) есть ли другой код, который касается двух меток (например, при загрузке формы)?