不要在页面重新加载或按钮单击事件上清除文本框

时间:2017-06-27 05:22:07

标签: c# asp.net textbox

我在C# asp.net开发了一个包含Master Page的网站。 我设计了一个顶级菜单,其中包含搜索栏(txtSearch)和ButtonLinkButton)。 当我点击search Button时,它会重定向到要显示搜索数据的页面,但是当它重定向时,它会清除txtSearch。 我想要的不是清除页面上的txtSearch重定向或页面重新加载。

  

顶部菜单(搜索栏)

<asp:TextBox runat="server" ID="txtSearch" TextMode="SingleLine" CssClass="form-control" Placeholder="Search term..." />
<span class="input-group-btn">
    <asp:LinkButton runat="server" ID="btnSearch" CssClass="btn btn-default" type="button" OnClick="btnSearch_Click"><span class="glyphicon glyphicon-search"></span></asp:LinkButton>
</span>

我希望问题很清楚。

4 个答案:

答案 0 :(得分:1)

您可以做的是..将TextBox值存储在onclick()函数

中的会话中
protected void btnSubmit_Click(object sender, EventArgs e)
{
   Session["TextBoxVal"] = TextBox1.Text;//The particular TextBox that has value
}

和onPageLoad只需将值分配给TextBox值,就像这样

 protected void Page_Load(object sender, EventArgs e)
    {
       if (!IsPostBack)
       {
            TextBox1.Text = (string)ViewState["TextBoxVal"];
       }
         //use this as per your needs just an example how to use
        if(IsPostBack)
        {
            TextBox1.Text = (string)ViewState["TextBoxVal"];
        }
    }

并且一旦为TexBox分配值清除会话,或者它将继续分配相同的值...就像这样做

Session["TextBoxVal"] = null;

答案 1 :(得分:1)

您必须将数据传递到另一个页面。传递数据,您可以使用各种技术

  • 查询字符串
  • 会话
  • 缓存

使用上述方法传递数据。

我建议查询字符串是最佳选择

答案 2 :(得分:-1)

您必须在页面之间传递querystring中的值才能保留它。

答案 3 :(得分:-1)

把它放在一个会话上:

Session["Sample"] =null;