C# OnTextChange事件行为怪异
我正在处理一个在asp.net中有许多文本框和一些下拉列表的表单,目前我试图在特定textform的textchange事件上从数据库动态填充这些文本框 i、 e名为jobId的特定文本框(job id是数据库表的主键),因此如果有人输入10,它将用主键为10的值填充字段的其余部分 这是第一次工作,但最终会出现如下错误C# OnTextChange事件行为怪异,c#,asp.net,C#,Asp.net,我正在处理一个在asp.net中有许多文本框和一些下拉列表的表单,目前我试图在特定textform的textchange事件上从数据库动态填充这些文本框 i、 e名为jobId的特定文本框(job id是数据库表的主键),因此如果有人输入10,它将用主键为10的值填充字段的其余部分 这是第一次工作,但最终会出现如下错误 The state information is invalid for this page and might be corrupted. 并且不更改任何值 为什么会发生这种
The state information is invalid for this page and might be corrupted.
并且不更改任何值
为什么会发生这种情况,我尝试了很多,但就是无法克服这个错误,是不是因为我正在使用AJAX在另一个文档中加载HTML文档
为了进一步澄清,这里是我的代码
触发因素:
<asp:TextBox ID="Job_No" runat="server" Text="New"
ontextchanged="Job_No_TextChanged" AutoPostBack="true"></asp:TextBox>
我建议您最好的方法是使用jqueryajax调用web服务,将所需的值传递给服务,并使服务返回一个JSON格式的对象,您可以使用jquery来填充文本框 你在页面加载中有代码吗?
protected void Job_No_TextChanged(object sender, EventArgs e)
{
//SqlCommand cmd2 = new SqlCommand("");
SqlDataAdapter sda = new SqlDataAdapter("select job_no from job_mstr", con);
DataTable dt = new DataTable();
sda.Fill(dt);
// check = 1;
try
{
foreach (DataRow row in dt.Rows)
{
if (row["job_no"].ToString() == Job_No.Text)
{
// check = 0;
int id = Convert.ToInt32(Job_No.Text);
Job_No.Text = id.ToString();
con.Open();
SqlCommand cmd1 = new SqlCommand("select JOB_MILESTONE_DT,start_dt,end_dt,CUST_REF,convert(varchar,CUST_REF_DT,103) ,convert(varchar,due_date,103) ,JOB_DESC,LINKED_JOB,CLIENT_CONTACT,CONTACT_EMAIL,APPROVAL_USER,convert(varchar,approval_DT,103) ,TOT_QTY,cost,job_type,JOB_CATEGORY from job_mstr where job_no=" + id, con);
SqlDataReader dr = cmd1.ExecuteReader();
if (dr.Read())
{
JobM_Dt.Text = dr[0].ToString();
StartTim.Text = dr[1].ToString();
EndTime.Text = dr[2].ToString();
Cust_refTxt.Text = dr[3].ToString();
Cust_Ref_DtTxt.Text = dr[4].ToString();
Due_DtTxt.Text = dr[5].ToString();
Job_DescTxt.Text = dr[6].ToString();
Linked_JobTxt.Text = dr[7].ToString();
Client_ContactTxt.Text = dr[8].ToString();
Client_EmailTxt.Text = dr[9].ToString();
Approval_UsrTxt.Text = dr[10].ToString();
Approval_DtTxt.Text = dr[11].ToString();
Tot_QtyTxt.Text = dr[12].ToString();
CostTxt.Text = dr[13].ToString();
Job_TypeTxt.Text = dr[14].ToString();
Job_CatogeryTxt.Text = dr[15].ToString();
}
dr.Close();
return;
}
else if (check == 1)
{
// Job_No.Text = "New";
JobM_Dt.Text = "";
StartTim.Text = "";
EndTime.Text = "";
Cust_refTxt.Text = "";
Cust_Ref_DtTxt.Text = "";
Due_DtTxt.Text = "";
Job_DescTxt.Text = "";
Linked_JobTxt.Text = "";
Client_ContactTxt.Text = "";
Client_EmailTxt.Text = "";
Approval_UsrTxt.Text = "";
Approval_DtTxt.Text = "";
Tot_QtyTxt.Text = "";
CostTxt.Text = "";
Job_TypeTxt.Text = "";
Job_CatogeryTxt.Text = "";
}
}
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
}