首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DayPilot日历创建事件

DayPilot日历创建事件
EN

Stack Overflow用户
提问于 2017-05-08 18:33:46
回答 1查看 556关注 0票数 0

我正在尝试实现Daypilot lite日历。到目前为止,一切都还好,但我似乎遇到了一点小麻烦。

我正试图在日历中创建一个新的事件,但我似乎不能将事件的开始和结束之外的任何信息传递给daypilot模式。

代码语言:javascript
复制
JavaScript runtime error: 'team' is undefined

上面这一行就是我得到的错误。我的aspx页面中的控件代码:

代码语言:javascript
复制
<h1>Welcome <asp:Label ID="lblTeam" runat="server"></asp:Label></h1>
        <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" AppendDataBoundItems="true" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
            <asp:ListItem Selected="True" Value="0">Select a pitch</asp:ListItem>
        </asp:DropDownList>
        <DayPilot:DayPilotCalendar 
            ID="DayPilotCalendar1" 
            runat="server" 
            DataStartField="sess_start" 
            ShowEventStartEnd="true" 
            DataEndField="sess_end" 
            DataTextField="team" 
            DataIdField="BookingId"
            ClientObjectName="dpc1" 
            TimeRangeSelectedHandling="JavaScript" 
            TimeRangeSelectedJavaScript="timeRangeSelected(start, end, team, pitch)" 
            OnCommand="DayPilotCalendar1_Command" 
            NonBusinessBackColor="Black" 
            HeightSpec="BusinessHoursNoScroll" 
            BusinessEndsHour="20" 
            OnEventMove="DayPilotCalendar1_EventMove" 
            EventMoveHandling="CallBack"
             />

我将数据发送到模型的JavaScript代码:

代码语言:javascript
复制
function timeRangeSelected(start, end, team, pitch) {
        team = document.getElementById('<%= lblTeam.ClientID %>').innerText;
        var pitchSel = document.getElementById('<%= DropDownList1.ClientID %>');
        pitch = pitchSel.options[pitchSel.selectedIndex].value;
        var modal = new DayPilot.Modal();
        modal.top = 60;
        modal.width = 300;
        modal.opacity = 70;
        modal.border = "10px solid #d0d0d0";
        modal.closed = function () {
            if (this.result == "OK") {
                dpc1.commandCallBack('refresh');
            }
            dpc1.clearSelection();
        };
        modal.showUrl("New.aspx?start=" + start.toStringSortable() + "&end=" + end.toStringSortable() + "&r=" + team + "&pitch=" + pitch);
    }

我需要能够传递给模式的不仅仅是开始和结束。正如我提到的,我真的不确定这里发生了什么,所以任何可以提供的指导都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2017-05-08 18:54:38

我找出了我做错了什么,所以我想我应该把它分享给大家,以防其他人也有同样的问题。

下面是我更新的JavaScript代码。基本上,我的问题与我在何处声明用于存储要传递给模型的数据的变量有关。当需要在函数的作用域之外声明它们时,我将它们放在函数内部。愚蠢的错误,但很容易犯。

代码语言:javascript
复制
 var team = document.getElementById('<%= lblTeam.ClientID %>').innerText;
    var pitchSel = document.getElementById('<%= DropDownList1.ClientID %>');
    var pitch = pitchSel.options[pitchSel.selectedIndex].value;

    function timeRangeSelected(start, end, team, pitch) {
        var modal = new DayPilot.Modal();
        modal.top = 60;
        modal.width = 300;
        modal.opacity = 70;
        modal.border = "10px solid #d0d0d0";
        modal.closed = function () {
            if (this.result == "OK") {
                dpc1.commandCallBack('refresh');
            }
            dpc1.clearSelection();
        };
        modal.showUrl("New.aspx?start=" + start.toStringSortable() + "&end=" + end.toStringSortable() + "&r=" + team + "&pitch=" + pitch);
    }

我希望这对将来的某个人有所帮助。甚至可能是我,你永远不会知道!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43845421

复制
相关文章

相似问题

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