今天逛博客园,无意发现一篇好文章,关于ashx文件的使用。
本文转载:http://www.cnblogs.com/yzenet/p/3470388.html
<script type="text/javascript">
$(function () {
$("#btnsave").click(function () { var json = { "age": 12, "address": "hk",
"ship": [ { "custID": "sz", "cpname": "bookstrf" },{ "custID": "fkff", "cpname": "kfg"}]
}; $.ajax({ type: "post",
url: "Handler/test.ashx",
datatype: "json",
data: { name: JSON.stringify(json) },
async: true,
success: function (data) {
alert(data); }
});
}); });
</script>
public class test : IHttpHandler
{ public void ProcessRequest(HttpContext context)
{ string ss = context.Request["name"]; var serialize = new JavaScriptSerializer();
var t = serialize.Deserialize<Model>(ss); } public bool IsReusable
{
get
{
return false;
}
} class Model
{
public int age {get; set;}
public string address{get; set;}
public List<Ship> ship{get; set;}
}
class Ship
{
public string custID{get; set;}
public string cpname { get; set; }
}
}
//得到数据对象:
本文博客转载:http://www.cnblogs.com/travelcai/archive/2007/09/25/904767.html
总结:看了上面文章一和文章二;可以将两者结合起来。
如果是显示多个不同图片时候,是否可以将
<asp:Image ID="Image1" runat="server" ImageUrl="~/ImageHandler.ashx"/></div>
进行改造:
<asp:Image ID="Image1" runat="server" ImageUrl="~/ImageHandler.ashx/?pic=U1513.jpg"/></div>
ashx一般程序代码:
public void ProcessRequest (HttpContext context)
{
//获取虚拟目录的物理路径。
string path = context.Server.MapPath(""); //获取图片文件名
string picFileName = context.Request["pic"];
//获取图片文件的二进制数据。
byte[] datas = System.IO.File.ReadAllBytes(path + "\\" + picFileName);
//将二进制数据写入到输出流中。
context.Response.OutputStream.Write(datas, 0, datas.Length);
}
继续扩展一下思路:如果是读取员工信息表,显示员工头像呢?是否只需要传递EmpID就行呢? 。。。 。。。 。答案是可以的!!!