我有2页。 main.aspx和download.aspx download.aspx上的page_load是下载文件 main.aspx上的文本框和下载按钮 - 在page_load没有功能 -button重定向到download.aspx -textbox不能留空。
填写文本框并按下按钮后,页面保留在main.aspx,文件从download.aspx下载。 现在的问题是,我按下下载按钮后如何清除文本框?
我试过了:
this.Textbox1.Text = "";
。ScriptManager.RegisterStartupScript(this, this.GetType(), "alert", "document.getElementById('Textbox1').value =''", true);
Response.Redirect("main.aspx);
之后Response.Redirect("download.aspx");
onclientclick = "validation()"
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();
}
答案 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方法请求下载页面。