UpdatePanel не обновляется с предварительно загруженными данными - PullRequest
0 голосов
/ 18 января 2012

У меня есть панель обновления с некоторыми текстовыми полями и кнопкой внутри.Если в текстовое поле ничего не вставлено, и я ввожу данные и нажимаю на кнопку, панель обновлений работает нормально, но когда данные предварительно загружаются в текстовое поле при загрузке, панель обновлений не обновляет мои данные, и сервер не захватывает данные, которыебыл введен в текстовое поле.Ниже приведен пример кода.Пожалуйста, помогите.

    <asp:UpdatePanel runat="server" id="UpdatePanel1" UpdateMode="Conditional">           
        <ContentTemplate>
            <asp:TextBox runat="server" Columns="30" MaxLength="50" ID="tbxPhone" onblur="PhoneBlur(this)"></asp:TextBox>
            <asp:Button ID="findOrderBtn" runat="server" OnClientClick="test()" OnClick="btnSearch_Click" Text="Search..." />
        </ContentTemplate>
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="findOrderBtn" EventName="Click" />
        </Triggers>
    </asp:UpdatePanel>

Ниже приведен пример кода:

protected void btnSearch_Click(object sender, EventArgs e)
{
    string phone = tbxPhone.Text;
}

Так что если текстовое поле tbxPhone изначально "555-555-5555" на page_load, и я изменяю его на«222-222-2222» и нажмите кнопку «Поиск ...», данные будут возвращены «555-555-5555» вместо «222-222-2222»

Ответы [ 2 ]

0 голосов
/ 20 января 2012

У меня есть Page_Load, который вызывает функцию для предварительной загрузки данных в мое текстовое поле.Как только я нажал кнопку поиска, чтобы обновить панель, я понял, что она снова проходит через Page_Load, поэтому данные, которые я ввел в текстовое поле, были перезаписаны оригинальными предварительно загруженными данными.IsPostBack к моей Page_Load и исправил мою проблему.

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        // Code Here
    }
}
0 голосов
/ 19 января 2012

Вот пример для пробного использования:

1.Добавьте диспетчер сценариев в форму

2.Добавьте панель обновления и сделайте так

<asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>
    <div>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <asp:TextBox runat="server" Text="222-222-222" ID="txtValue"></asp:TextBox>
            <asp:Button ID="btnsubmit" runat="server" Text="Button" />
            <asp:Label ID="lblValue" runat="server" Text="Label"></asp:Label>
            </ContentTemplate>
        </asp:UpdatePanel>
    </div>

Событие button_Click:

Protected Sub btnsubmit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnsubmit.Click
        lblValue.Text = txtValue.Text
    End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...