通过JQuery或Server Side获取Kendo Recurrence Editor Pattern

时间:2014-03-17 10:24:16

标签: kendo-ui telerik editor recurrence kendo-scheduler

I,

我的页面中有一个kendoRecurrenceEditor和来自telerik的日历。

kendoRecurrenceEditor放置在RadWindow中并且工作正常但是当我点击&#34时,我无法获得该模式; OK"。

基本上,我想要kendoRecurrenceEditor的结果模式。 可以通过JQuery或服务器端

有任何帮助吗? 谢谢,Bruno F.

2 个答案:

答案 0 :(得分:0)

SchedulerEvent具有recurrenceRule字段。这将选择重复模式用户。

希望有所帮助。

答案 1 :(得分:0)

您只需确保将该重复规则绑定到模型上要传递回服务器的某个属性。服务器应该能够将它序列化为一个对象:

public abstract class RecurrenceRule : ISerializable, IEquatable<RecurrenceRule>

如果它无法序列化它并且您只得到字符串模式并且您可以转换为这样的重复规则(我在模式中缺少参数的问题,所以我做了一个方法如下):

private RecurrenceRule GetParsedRecurrenceRule(DateTime start, DateTime end, string recurrenceRuleToParse)
        {
            // Parse recurrence rule.
            var recurrenceRule = string.Format(
                "DTSTART:{0:yyyyMMddTHHmmssZ}\r\nDTEND:{1:yyyyMMddTHHmmssZ}\r\nRRULE:{2}", start, end,
                recurrenceRuleToParse);
            // Add interval if it is missing otherwise the parser will fail.
            if (!recurrenceRule.Contains("INTERVAL="))
            {
                recurrenceRule = string.Format("{0};INTERVAL=1", recurrenceRule);
            }

            // Fix for daily recurrence that was not working properly due to missing BYDAY parameter.
            if (recurrenceRule.Contains("FREQ=DAILY") && !recurrenceRule.Contains("BYDAY="))
            {
                recurrenceRule = string.Format("{0};BYDAY=MO,TU,WE,TH,FR,SA,SU", recurrenceRule);
            }

            // Fix of missing never option - default to COUNT=1
            if (!recurrenceRule.Contains("COUNT=") && !recurrenceRule.Contains("UNTIL="))
            {
                recurrenceRule = string.Format("{0};COUNT=1", recurrenceRule);
            }

            RecurrenceRule parsedRule;
            bool parseResult = RecurrenceRule.TryParse(recurrenceRule, out parsedRule);

            return parsedRule;
        }