对于导出.ics文件,我编写了以下代码。 折叠|复制代码
iCalendar iCal = new iCalendar();
foreach (DataRow row in dt.Rows)
{
// Create the event, and add it to the iCalendar
Event evt = iCal.Create<event>();
// Set information about the event
evt.Start = (DDay.iCal.iCalDateTime)Convert.ToDateTime(row["StartDate"]);
evt.End = (DDay.iCal.iCalDateTime)Convert.ToDateTime(row["EndDate"]);// This also sets the duration
evt.Description = (string)row["Description"];
}
// Serialize (save) the iCalendar
iCalendarSerializer serializer = new iCalendarSerializer();
serializer.Serialize(iCal, @"C:\iCalendar.ics");
它对我来说很好,但它将文件写入C盘或根据我们给出的路径。但我需要它可以下载。
我尝试了一些代码,但这不是我需要的确切格式。
提前致谢。
答案 0 :(得分:2)
文档支持使用流。您可以将日历的内容写入响应。确保你也设置了mime类型。
iCalendarSerializer serializer = new iCalendarSerializer(iCal);
serializer.Serialize(Response.OutputStream, Encoding.ASCII);
http://www.ddaysoftware.com/Pages/Projects/DDay.iCal/Documentation/