【问题标题】:Syncfusion schedule on save tracking保存跟踪的 Syncfusion 时间表
【发布时间】:2013-07-24 15:24:03
【问题描述】:

我的网站上有一个 syncfusion 调度程序,我需要在用户添加新约会时进行跟踪。 跟踪必须在 jquery 中。因此,当创建syncfusion约会并保存约会时,它会将我带到我的控制器。但我无法跟踪它有没有人知道在约会保存时调用 jquery 的方法

      @using Syncfusion.Mvc.Shared
   @using Syncfusion.Mvc.Schedule
@using Combres.Mvc
@{
ViewBag.Title = "Calendar";
Layout = "~/Views/Shared/_LayoutSingleColumn.cshtml";
}
@section scripts {
@Html.CombresLink("syncfusionJs")
@{Html.Syncfusion().ScriptManager().DisableScripts(true).Render();}
<script type="text/javascript">
    $(document).ready(function () {
        $('#User').change(function () {
            location.href = '/Team/Calendar/Index/' + $(this).val();
        });
    });
</script>
<script type ="text/javascript">
    mixpanel.track("View Manager | Calendar");
</script>
}
@section styles {
@Html.CombresLink("syncfusionCss")
<style type="text/css">
    .AppointmentTextBox{ width: 75px; }
    #RecurrenceWindowschedule1 {height: 375px !important;}
</style>
}
<label>User: </label>@Html.DropDownList("User", OpenRoad.Web.Helpers.DropDownLists.GetOptionValues("CalendarUsers", ViewData["UserId"].ToString(), true))<br />
@{Html.Syncfusion().Schedule("schedule1", "ScheduleModel")
.DataSource((System.Collections.IEnumerable)ViewData["data"])
.Resources((List<ScheduleResource>)ViewData["resources"])
.AllowEdit(true)
.AllowAddNew(true)
.AllowDelete(true)
.AllowInline(true)
.AllowDragAndDrop(true)
.AllowMultipleResource(true)
.AllowResize(true)
.AllowPriority(true)
.AllowRecurrence(true)
.AllowReminder(false)
//.ShowResourceHeader(true)
.ShowNavigationPane(true)
.Width(1050)
.Height(640)
.HighlightBusinessHours(true)
//.ShowToolTip(true)
//.ShowImport(true)
//.ShowExport(true)
.Skins(ScheduleSkins.Marble)
.CurrentView(ScheduleViewMode.Month)
.CustomCss("schedule_Custom")    
.BindList(columns =>
{
    columns.IdField("AppointmentId");
    columns.SubjectField("Subject");
    columns.LocationField("Location");
    columns.StartTimeField("StartTimeUtc");
    columns.EndTimeField("EndTimeUtc");
    columns.DescriptionField("Description");
    columns.OwnerField("UserId");
    columns.PriorityField("Priority");
    columns.ReminderField("Reminder");
    columns.RecurrenceField("Recurrence");
    columns.RecurrenceTypeField("Frequency");
    columns.RecurrenceTypeCountField("Interval");
    columns.RecurrenceStartField("RecurrenceStart");
    columns.RecurrenceEndField("RecurrenceEnd");
})
.Render();
}

【问题讨论】:

    标签: jquery asp.net-mvc syncfusion


    【解决方案1】:

    在创建 Syncfusion 约会时,应调用 ajaxBeginajaxSuccess 事件。因此我们可以使用以下事件跟踪创建:

    1) ClientSideOnActionBegin("ajaxBegin")
    2) ClientSideOnActionSuccess("ajaxSuccess")
    

    试试这样:

    @{Html.Syncfusion().Schedule("schedule1", "ScheduleModel")
    ...
                .ClientSideOnActionBegin("ajaxBegin")
                .ClientSideOnActionSuccess("ajaxSuccess")   
    ...
    .Render();
    }
    

    脚本:

    <script type="text/javascript">
        // sender => Schedule control's object
        // args => arguments of Ajax request details
        function ajaxBegin(sender, args) {
            var action=args._data.CurrentAction; // we get current action as "Save" on adding new appointment
        }
    
        // sender => Schedule control's object
        // args => arguments of Ajax request success details
        function ajaxSuccess(sender, args) {
            ...
        }
    </script>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-29
      • 1970-01-01
      • 2023-03-06
      • 1970-01-01
      相关资源
      最近更新 更多