重定向到下载页面后清除文本框

时间:2013-05-15 08:55:53

标签: c# asp.net download

我有2页。 main.aspx和download.aspx download.aspx上的page_load是下载文件 main.aspx上的文本框和下载按钮 - 在page_load没有功能 -button重定向到download.aspx -textbox不能留空。

填写文本框并按下按钮后,页面保留在main.aspx,文件从download.aspx下载。 现在的问题是,我按下下载按钮后如何清除文本框?

我试过了:

    重定向之前和之后
  1. this.Textbox1.Text = "";
  2. 重定向前后的
  3. ScriptManager.RegisterStartupScript(this, this.GetType(), "alert", "document.getElementById('Textbox1').value =''", true);
  4. Response.Redirect("main.aspx); 之后
  5. Response.Redirect("download.aspx");
  6. onclientclick = "validation()"
  7. function validation(){         document.getElementById('TextBox1')。value =“”;     }

    记得我有验证,所以4.无法工作。

    5. 
    
        OnClientClick ="document.forms[0].target = '_blank';"/>
    
              Response.Redirect(”download.aspx”,false);
            Textbox1.Text="";
    
    6. Textbox1.EnableViewState = false;
    

    7.button单击,重定向到main2.aspx,在main2.aspx重定向到page.aspx的页面加载。但是在我点击main.aspx上的按钮后,文件被下载,但页面仍然保留在main.aspx。

    上述方法都没有工作,我还能尝试什么?有什么问题?为什么文本框不能设置为空白?

    main.aspx

    protected void Page_Load(object sender, EventArgs e)
    {
    
    }
    
    protected void Button1_Click(object sender, EventArgs e)
    {
       this.TextBox1.Text = "";
       Response.Redirect("download.aspx");
       this.TextBox1.Text = "";
    }
    

    download.aspx

    protected void Page_Load(object sender, EventArgs e)
    {
       string reportPath = "C:\\form.pdf";
    
       Response.ContentType = "appplication/pdf";
       Response.AppendHeader("Content-Disposition", "attachment; filename=form.pdf");
       Response.TransmitFile(reportPath);
       Response.End();
    }
    

2 个答案:

答案 0 :(得分:0)

尝试使用javascript清除文本框值

答案 1 :(得分:0)

我认为,你可以使用get方法下载。 按钮的onClientClick代码:

function doGet(){
var txt=document.getElementById('<%=this.TextBox1.ClientID %>').value;
window.open ('download.aspx?file='+txt);
document.getElementById('<%=this.TextBox1.ClientID %>').value='';
}

并在download.aspx.cs

您可以从main.aspx获取值,例如

string file=this.Request.QueryString["file"];

请勿使用ReDirect方法请求下载页面。