如何在刷新后保持文本框内容
本文关键字:文本 刷新 | 更新日期: 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设置值而无需刷新父页面