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

时间:2014-05-23 12:19:38

标签: c# asp.net webforms postback

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

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

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

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

4 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

默认的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;
        }
    }

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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