Kendo ui Telerik-复发-锥虫病不起作用

Kendo ui Telerik-复发-锥虫病不起作用,kendo-ui,telerik,recurrence,Kendo Ui,Telerik,Recurrence,我试图将递归规则字符串解析为telerik对象,但它对我根本不起作用。结果总是空的,即使字符串模式看起来是正确的(从剑道循环控制传递)。谢谢你对这件事的任何想法 更新:我尝试了另一个案例来证明解析是否有效,结果如下: 根据此定期后规则,在指定间隔时有效 至于RecurrenceRule.TryParse抛出的异常,我注意到 它是在缺少间隔规则时产生的。如果你想使用 RecurrenceRule.TryParse方法,您需要手动添加它 下面是jonno最初上传的修改代码 var today =

我试图将递归规则字符串解析为telerik对象,但它对我根本不起作用。结果总是空的,即使字符串模式看起来是正确的(从剑道循环控制传递)。谢谢你对这件事的任何想法

更新:我尝试了另一个案例来证明解析是否有效,结果如下:

根据此定期后规则,在指定间隔时有效

至于RecurrenceRule.TryParse抛出的异常,我注意到 它是在缺少间隔规则时产生的。如果你想使用 RecurrenceRule.TryParse方法,您需要手动添加它

下面是jonno最初上传的修改代码

var today = DateTime.Now.Date;
var start = today.AddDays(-14).AddHours(19);
var end = start.AddHours(2.5);

// Create a few recurring events using Kendo Web Scheduler and use the recurrence rules
var patterns = new[]
{
    "FREQ=DAILY;UNTIL=20140227T130000Z", 
    "FREQ=DAILY;INTERVAL=3;UNTIL=20140227T130000Z", 
    "FREQ=DAILY;INTERVAL=3;COUNT=4", 
    "FREQ=DAILY;INTERVAL=5", 
    "FREQ=WEEKLY;BYDAY=WE;INTERVAL=1",
    "FREQ=WEEKLY;COUNT=5;BYDAY=TU,WE;INTERVAL=1",
    "FREQ=WEEKLY;INTERVAL=4;COUNT=5;BYDAY=WE,TH,SA", 
    "FREQ=WEEKLY;INTERVAL=3;UNTIL=20140331T090000Z;BYDAY=WE,TH,SA", 
    "FREQ=MONTHLY;BYMONTHDAY=13;INTERVAL=1", 
    "FREQ=MONTHLY;COUNT=7;BYDAY=1FR;INTERVAL=1", 
    "FREQ=MONTHLY;UNTIL=20150212T130000Z;BYDAY=SU,SA;BYSETPOS=-1;INTERVAL=1",
    "FREQ=YEARLY;BYMONTH=12;BYMONTHDAY=25", 
    "FREQ=YEARLY;COUNT=3;BYMONTH=2;BYMONTHDAY=28", 
    "FREQ=YEARLY;UNTIL=20200306T130000Z;BYMONTH=8;BYDAY=3WE",
    "FREQ=WEEKLY;COUNT=5;BYDAY=MO;INTERVAL=4",
    "FREQ=WEEKLY;COUNT=2;BYDAY=MO;INTERVAL=1",
};

// Now figure out which events will trigger in the next week - server side only - using Telerik.Web.UI.dll RecurrenceRule class.
foreach (var expr in patterns)
{
    var rrule = string.Format("DTSTART:{0:yyyyMMddTHHmmssZ}\r\nDTEND:{1:yyyyMMddTHHmmssZ}\r\nRRULE:{2}", start, end, expr);
    try
    {
        RecurrenceRule recRule = null;
        var b = RecurrenceRule.TryParse(rrule, out recRule);
        if (recRule == null)
        {
            Console.WriteLine("PARSE ERROR: " + expr);
            continue;
        }
    }
    catch (Exception)
    {
        Console.WriteLine("PARSE ERROR: " + expr);
    }
}