【问题标题】:preserve value in textbox after postback in user control在用户控件中回发后保留文本框中的值
【发布时间】:2013-03-15 15:11:43
【问题描述】:

我正在通过 jquery 将文本加载到文本框中:

 $.ajax({
        type: "POST",
        url: "../myfile.ascx/myfunction",
        data: "{variable:'" + value + "'}",
        contentType: "application/json",
        dataType: "json",
        success: function (response) {
            $('input[id$=txtMyTextBox]').val(response.d);

        }
    });

这部分工作正常,但是当我使页面从其他控件回发时,我失去了它在 txtMyTextBox 中插入的值。现在我使用的是用户控件,所以我有一个数据绑定而不是页面加载。我试过这个:

protected void Page_Load(object sender, EventArgs e)
    {
        if (IsPostBack)
            Page.ClientScript.RegisterStartupScript(this.GetType(), "alert", "RefreshJob();", true);
    }

但这也不会带来价值。我添加了一个隐藏字段,该字段在任何回发后保存该值,但不确定如何将值保存在文本框中。

【问题讨论】:

  • 您是否考虑过将值添加到会话变量或静态属性中......?甚至ViewState objectUse a Session Variable

标签: c# jquery asp.net postback


【解决方案1】:

我认为您正在使用 html 输入元素,改用 asp 文本框控件,并使用 $('#<%=txtbox.ClientID%>').val(response.d); 将其 ID 传递给 jquery,并使用 viewstate 来维护文本框控件的状态

【讨论】:

  • 我使用的是 asp 文本框控件,但我会试试这个标记。如何从 jquery 设置视图状态?
  • 你不必从jQuery中设置它,它是asp控件,可以通过启用viewstate为true来维护它的viewstate
猜你喜欢
  • 2011-06-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-16
  • 1970-01-01
相关资源
最近更新 更多