您的位置:首页 > 编程语言 > ASP

黑马程序员_学习日记71_723ASP.NET(文件上传下载、IsPostBack原理、页面生命周期)

2012-07-29 20:53 696 查看
一、文件上传下载

(一)上传

1、Upload.htm

<form method="post" enctype="multipart/form-data" action="Upload.ashx">
<input type="file" name="fileUpload" />
<input type="submit" value="upload" />
</form>


2、Upload.ashx

public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
HttpPostedFile file = context.Request.Files[0];
file.SaveAs(context.Server.MapPath(Guid.NewGuid().ToString() + file.FileName));
context.Response.Write("Upload completed! ");
}


(二)下载

1、Download.htm

<body>
<a href="Download.ashx">下载图片</a>
</body>


2、Download.ashx

public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
//因为url地址是ASCII码,所以必须对中文文件名进行encode,不然客户端接受看到的是乱码
string encodeFileName = HttpUtility.UrlEncode("b9a9bb0e-24fd-4dd2-a3e1-3dff2740f3d7捕获.PNG");
context.Response.AddHeader("Content-Disposition", string.Format("attachment;filename=\"{0}\"", encodeFileName));
//把文件内容作为流输出
context.Response.WriteFile("b9a9bb0e-24fd-4dd2-a3e1-3dff2740f3d7捕获.PNG");
}


二、WebForm



三、IsPostBack原理



原理:

Post前: Post后:





<form method="post" action="MyIsPostBackDemo.aspx">
<input type="hidden" name="hidIsPostBack" value="1" />
<input type="submit" value="提交回去后False变True" />
</form>


public partial class IsPostBack_MyIsPostBackDemo : System.Web.UI.Page
{
public bool MyIsPostBack;

//在页面pr方法内部执行
protected void Page_Load(object sender, EventArgs e)
{
var isPostBackDemo = Request["hidIsPostBack"];
MyIsPostBack = !string.IsNullOrEmpty(isPostBackDemo);

this.Response.Write(MyIsPostBack.ToString());
}
}


四、客户端与服务端注释

<!—客户端注释-->

<%--服务端注释--%>

尽量用服务端注释

五、页面生命周期(这个图可能看不清了,见谅,到网上搜吧)




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: