Asp.net UpdatePanel不会使用预加载的数据进行更新

Asp.net UpdatePanel不会使用预加载的数据进行更新,asp.net,updatepanel,Asp.net,Updatepanel,我有一个更新面板,里面有一些文本框和一个按钮。当文本框中未预加载任何内容,我输入数据并单击按钮时,更新面板工作正常,但当数据预加载到文本框onload时,更新面板不会更新我的数据,服务器也不会获取输入到文本框中的数据。下面是一个示例代码。请帮忙 <asp:UpdatePanel runat="server" id="UpdatePanel1" UpdateMode="Conditional"> <ContentTemplate>

我有一个更新面板,里面有一些文本框和一个按钮。当文本框中未预加载任何内容,我输入数据并单击按钮时,更新面板工作正常,但当数据预加载到文本框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>

因此,如果tbxPhone文本框在加载页面上最初是“555-555-5555”,我将其更改为“222-222-2222”,然后单击搜索。。。按钮,返回的数据是“555-555-5555”,而不是“222-222-2222”

以下是供您尝试的示例:

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>

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

补充道!我返回到我的页面并修复了我的问题

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

当你说UpdatePanel不更新你的数据,服务器也不获取数据时,你是什么意思?你指的是什么数据?当数据预加载到文本框中时,我尝试修改文本框中的文本。然后点击按钮。它进入服务器端的“btnSearch_Click”功能,并尝试从文本框中获取数据,如“tbxPhone.Text”。返回的数据是原始数据,而不是文本框中输入的新数据。我很难理解上下文,能否显示一些代码隐藏?何时在文本框中设置数据?听起来你是在生命周期中设置了ViewState之后才设置它的。哦,我明白了,那么在提交可以从文本框中获取新数据之前,在我将新数据输入文本框之后,如何才能修改ViewState呢?
Protected Sub btnsubmit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnsubmit.Click
        lblValue.Text = txtValue.Text
    End Sub
protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        // Code Here
    }
}