【发布时间】:2013-08-15 05:18:19
【问题描述】:
场景: 我有一个 ASPX(没有表单元素),我们称之为页面 A,该表单包含一个 DIV,该 DIV 显示一个 ASPX 页面,该页面在表单元素页面 B 中带有 FileUpload 控件。
要求: 提交表单以上传文件,无需页面 A 刷新或导航出来并在 DIV 或页面 B 中显示上传结果。
问题: 当我点击提交按钮上传文件时,文件上传,页面 A 变为页面 B。
任何建议将不胜感激。 谢谢,
【问题讨论】:
场景: 我有一个 ASPX(没有表单元素),我们称之为页面 A,该表单包含一个 DIV,该 DIV 显示一个 ASPX 页面,该页面在表单元素页面 B 中带有 FileUpload 控件。
要求: 提交表单以上传文件,无需页面 A 刷新或导航出来并在 DIV 或页面 B 中显示上传结果。
问题: 当我点击提交按钮上传文件时,文件上传,页面 A 变为页面 B。
任何建议将不胜感激。 谢谢,
【问题讨论】:
您可以使用PreviousPage 来执行此操作。
1) 在页面 A 中创建一个属性以公开文件名或您需要在页面 B 中公开的其他内容,例如:
public string FileName
{
get { return fileUpload.FileName; }
}
2) 在页面 A 中的提交按钮事件上重定向到页面 B
protected void btn_Click(object sender, EventArgs e)
{
/*Save file here*/
this.Server.Transfer("~/PageB.aspx");
}
3) 在Page B aspx 中添加指示哪个页面是PreviousPage 的指令:
<%@ PreviousPageType VirtualPath="~/PageA.aspx" %>
4) 使用Page B中的public属性向用户展示结果,例如放在标签中:
Label1.text = this.PreviousPage.FileName;
希望有帮助!在这里查看更多信息:How to: Pass Values Between ASP.NET Web Pages
【讨论】: