就是在HTML界面按下一个button后,想实现数据输入,用线程处理,最后返回结果,但是输入处理都没问题,就是无法把结果返回到界面上,连想修改一个textbox里的text也无法做到,刷新也咩有用···
ps:有更好的办法判断线程输出已完成,我之前用timer莫名其妙就是无法跳入tick事件里面;用FileSystemWatcher可以触发事件,但是因为是流输出,有多少行数据就会触发多少回,还会影响到输出。有木有一次性输出的···
代码如下:
//提交当前行
protected void Button2_Click(object sender, EventArgs e)
{
//
if (FileUpload1.HasFile)
{
FileUpload1.SaveAs(Server.MapPath("upload") + "//" + FileUpload1.FileName);
//exceldata是一个datatable,LoadDataFromExcel函数是读取Excel文件返回datatable
exceldata = LoadDataFromExcel(Server.MapPath("upload") + "//" + FileUpload1.FileName);
//make_table();
//显示输入结果
GridView1.DataSource = exceldata;
GridView1.DataBind();
//调用FileSystemWatcher的函数
find_out_end("M:\\", "*.txt");
//调用timer
//timer1.Enable=true;//之前尝试用timer来修改界面也不成功
}
else
{
TextBox4.Text = "nofile";
}
}
其中FileSystemWatcher的触发后的函数:
public void OnProcess(object source, FileSystemEventArgs e)
{
TextBox5.Text = "end";//textbox5是web界面上的一个textbox,但是结果就是不显示,刷新也不行;加断点有路过这句话,但是界面就是没有反应
}