我正在通过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);
}
但这也不会带来价值。我添加了一个隐藏字段,该字段在任何回发后保存该值,但不确定如何将值保留在文本框中。
答案 0 :(得分:2)
我认为您正在使用html输入元素,而是使用asp文本框控件并使用$('#<%=txtbox.ClientID%>').val(response.d);
将其ID传递给jquery并使用viewstate来维护文本框控件的状态