在用户控件中保留回发后文本框中的值

本文关键字:文本 用户 控件 保留 | 更新日期: 2023-09-27 18:04:10

我正在通过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);
    }

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

在用户控件中保留回发后文本框中的值

我认为你正在使用html输入元素,使用asp文本框控件,而不是传递它的ID到jquery使用$('#<%=txtbox.ClientID%>').val(response.d);和使用viewstate来维护文本框控件的状态