我有这个如何使用jQuery呈现响应流?
MemoryStream export = new MemoryStream();
iCalendarSerializer serializer = new iCalendarSerializer(iCal);
serializer.Serialize(export,System.Text.Encoding.UTF8);
return export;
,所以我使用C#DDay.iCal库导出我的日历。 Serialize接受一个“流”,所以我传递了一个内存流。
我现在有一个通用的处理程序,它调用包含上述代码的方法。
public class CalendarHandler : IHttpHandler
{
private Calendar service;
private Membership membershipS;
public void ProcessRequest(HttpContext context)
{
service = new Calendar();
membershipS = new Membership (null);
string userName = context.User.Identity.Name;
Guid userId = membershipS.GetUsersId(userName);
context.Response.ContentType = "text/calendar";
// calls the export calendar(the code that showed above that uses dDay ical.
var t = service.ExportCalendar(userId);
t.WriteTo(context.Response.OutputStream);
}
public bool IsReusable
{
get
{
return false;
}
}
}
所以现在我写icalendar到输出流。现在我有一个jQuery发布到这个方法,现在我不知道如何获取jQuery文章的OutputStream结果,并使用弹出的保存对话框。
$('#ExportCalendar').click(function(e)
{
$.post('../Models/CalendarHandler.ashx', null, function(r)
{
});
return false;
});
@Eilon +1你对这种情况是正确的。我构建了一个小的JS/Flash库,它*可以*允许这样做,但它的目的是用于生成*和*保存文件在客户端。不要在服务器上生成文件,然后将其保存在客户端上:http://downloadify.info – 2010-01-09 02:21:24