[英]How to keep textbox contents after refresh
我的页面上有一个带有搜索功能的表单,当您进行搜索时,它将用该记录的数据填充表单。
表单内还有另一个按钮和文本框,用于查找参考。 您单击按钮,然后选择要放入文本框中的记录。
问题是,当数据从搜索发送到页面时,所有其他文本框的内容都丢失了,仅保留了引用框。
这就是发送数据的方式:所选记录的ID已添加到会话中,然后重新加载父窗口。 重新加载页面时,页面会在搜索中查找ID,然后填充屏幕。
将EnableViewState=true
添加到要保留的每个文本框中。
您可以使用更新面板将更新限制为页面的某些部分。 请参阅“ 更新面板文档” ,从而保留不应再次发布的控件状态。
默认的asp.net行为会在回发后保留这些值,除非需要部分渲染,否则无需使用updatePanel。
您确定不清除.cs文件中的值吗? 什么是textBoxes的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设置值,而无需刷新父页面。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.