UpdatePanel不会使用预加载的数据更新

时间:2012-01-18 19:23:44

标签: asp.net updatepanel

我有一个更新面板,里面有一些文本框和一个按钮。如果没有任何内容被发布到文本框中,我输入数据并单击按钮,更新面板工作正常,但是当数据预加载到文本框onload时,更新面板不会更新我的数据,服务器也不会获取数据被输入到文本框中。下面是一个示例代码。请帮忙。

    <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文本框在page_load上最初为“555-555-5555”,我将其更改为“222-222-2222”并单击“搜索...”按钮,则返回的数据为“555-555- 5555“而不是”222-222-2222“

2 个答案:

答案 0 :(得分:0)

以下是您尝试此操作的示例:

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>

on button_Click事件:

Protected Sub btnsubmit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnsubmit.Click
        lblValue.Text = txtValue.Text
    End Sub

答案 1 :(得分:0)

我有一个Page_Load调用函数将数据预加载到我的文本框中。一旦我点击搜索按钮更新我的面板,我意识到它再次通过Page_Load,因此我输入文本框的数据被覆盖了原始的预加载数据。

在我的Page_Load中添加了!IsPostBack并解决了我的问题。

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        // Code Here
    }
}