我有這個如何使用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