ASP.NET事件日历空数据

时间:2015-08-10 01:50:13

标签: c# asp.net asp.net-mvc calendar

我试过这个tuto ASP.NET Event Calendar for DHTMLX 使用VS2013使用ASP.net MVC 4 Web应用程序

BasicSchedulerController

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using DHTMLX.Scheduler;
using DHTMLX.Common;
using DHTMLX.Scheduler.Data;
using ScheduleEvents.Models;


namespace ScheduleEvents.Controllers
{
    public class BasicSchedulerController : Controller
    {
        public ActionResult Index()
        {
            var scheduler = new DHXScheduler(this);
            scheduler.Data.Loader.PreventCache();
            scheduler.LoadData = true;
            scheduler.EnableDataprocessor = true;
            return View(scheduler);
        }

        public ActionResult Data()
        {
            return new SchedulerAjaxData(new SampleDataContext().Events);
        }

        public ActionResult Save(Event updatedEvent, FormCollection formData)
        {
            var action = new DataAction(formData);
            var context = new SampleDataContext();

            try
            {
                switch (action.Type)
                {
                    case DataActionTypes.Delete:
                        {
                            updatedEvent = context.Events.SingleOrDefault(ev => ev.idevent == updatedEvent.idevent);
                            context.Events.DeleteOnSubmit(updatedEvent);
                        }
                        break;
                    case DataActionTypes.Error:
                        break;
                    case DataActionTypes.Insert:
                        context.Events.InsertOnSubmit(updatedEvent);
                        break;
                    case DataActionTypes.Update:
                        {
                            updatedEvent = context.Events.SingleOrDefault(ev => ev.idevent == updatedEvent.idevent);
                            UpdateModel(updatedEvent);
                        }
                        break;
                    default:
                        break;
                }
                context.SubmitChanges();
                action.TargetId = updatedEvent.idevent;
            }
            catch (Exception)
            {
                action.Type = DataActionTypes.Error;
            }

            return new AjaxSaveResponse(action);
        }

    }
}

但是当我想插入新事件的时候,它会是Null,表数据也是Null

1 个答案:

答案 0 :(得分:0)

您是否为所有列或某些特定列获取空值?

可能有几个原因

public ActionResult Save(Event updatedEvent, FormCollection formData)

使用MVC的模型绑定机制从请求值中解析Event对象,它取决于系统中设置的区域设置。

如果服务器不在Invariant Culture设置中,则可能存在问题 - 默认情况下,调度程序使用此格式在将日期发送到服务器之前对日期进行字符串化。如果调度程序和服务器的格式不匹配日期将被错误地解析,您可能会得到空值。 可能的解决方案是使用 DHXEventsHelper 来解析请求值,如下所示 http://scheduler-net.com/docs/managing-crud-operations.html#update_method

2)你能否展示一下事件模型的声明? 在视频上,它在2:16上完成。 客户端需要强制属性的固定名称( id,text,start_date,end_date ,如视频中所示),如果您对它们进行了不同的命名 - 默认情况下,调度程序不会绑定这些属性

您可以使用 DHXJsonAttribute 重命名模型类的属性或配置映射 http://scheduler-net.com/docs/loading-data.html#custom_names_for_data_properties

如果这些都没有帮助 - 请将您的项目上传到某处并提供下载链接,以便我可以在本地查看