首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为Outlook创建“网络日历订阅”?

如何为Outlook创建“网络日历订阅”?
EN

Stack Overflow用户
提问于 2013-05-29 11:41:10
回答 1查看 7.4K关注 0票数 7

目前,用户添加了一个“新的互联网日历”,但这是一个一次性下载ICS文件。我希望用户单击一个按钮,将他的个人日历添加为Outlook的订阅。我希望自动更新“网上日历订阅”

与SharePoint中一样,名为“连接到Outlook”的按钮将正在查看的日历作为自动同步日历添加到Outlook中。

EN

回答 1

Stack Overflow用户

发布于 2013-05-29 11:45:45

在iCals中创建C#这个CodeProject帖子告诉我你应该使用DDay iCal库

DDay.iCal是用于Silverlight的iCal (RFC 5545)类库,适用于.NET 2.0及更高版本。它的目标是尽可能兼容RFC 5545,同时针对与流行的日历应用程序(如Apple iCal、Outlook 2007等)的兼容性。

样本代码 of iCal + MVC + DDay.iCal

代码语言:javascript
复制
public ActionResult iCalendar(string DownloadFileName)
{
    DDay.iCal.iCalendar iCal = new DDay.iCal.iCalendar();

    Event evt = iCal.Create<Event>();
    evt.Start = iCalDateTime.Today.AddHours(8);
    evt.End = evt.Start.AddHours(18); // This also sets the duration
    evt.Description = "The event description";
    evt.Location = "Event location";
    evt.Summary = "18 hour event summary";

    evt = iCal.Create<Event>();
    evt.Start = iCalDateTime.Today.AddDays(5);
    evt.End = evt.Start.AddDays(1);
    evt.IsAllDay = true;
    evt.Summary = "All-day event";

    ISerializationContext ctx = new SerializationContext();
    ISerializerFactory factory = new DDay.iCal.Serialization.iCalendar.SerializerFactory();
    IStringSerializer serializer = factory.Build(iCal.GetType(), ctx) as IStringSerializer;

    string output = serializer.SerializeToString(iCal);
    var contentType = "text/calendar";
    var bytes = Encoding.UTF8.GetBytes(output);

    return File(bytes, contentType, DownloadFileName);
}
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16812921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档