如何在刷新后保持文本框内容

本文关键字:文本 刷新 | 更新日期: 2023-09-27 18:05:01

我的页面上有一个带有搜索功能的表单,当您进行搜索时,它将用该记录的数据填充表单。

在表单中是另一个按钮和文本框,用于查找引用。单击按钮,选择一条记录放入文本框。

问题是,当数据从搜索发送到页面时,所有其他文本框的内容都丢失了,只留下了参考框。

数据是这样被发送回来的:被选中的记录有一个ID,这个ID被添加到会话中,然后父窗口重新加载。当它重新加载页面时,在搜索中查找ID,然后填充屏幕。

如何在刷新后保持文本框内容

EnableViewState=true添加到要保留的每个文本框中

您可以使用更新面板来限制对页面某些部分的更新。请参阅更新面板文档,从而保留不应再次发布的控件的状态。

默认的asp.net行为在回发后保持值,除非需要部分呈现,否则不需要使用updatePanel。

您确定不清除.cs文件中的值吗?什么是文本框的TextMode ?

尝试重现您的场景,但失败。

下面是代码- aspx文件代码

<form id="form1" runat="server">
    <div>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>        
        <asp:TextBox ID="TextBox3" runat="server" TextMode="Password"></asp:TextBox>

        <asp:TextBox ID="txtSearch" runat="server"></asp:TextBox>
        <asp:Button ID="btnSearch" runat="server" Text="Button" OnClick="btnSearch_Click" />
    </div>
    </form>

aspx.cs文件代码

 public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if(!IsPostBack)
            {
                TextBox1.Text = "Text box 1 value";
                TextBox2.Text = "Text box 2 value";
                TextBox3.Text = "password";
            }                
        }    
        protected void btnSearch_Click(object sender, EventArgs e)
        {     
            string SearchTerm = txtSearch.Text;   
            string textValue1 = TextBox1.Text, textValue2 = TextBox2.Text, textValue3 = TextBox3.Text;
        }
    }

您可以使用javascript设置值而无需刷新父页面