Fullcalendar外部删除设置ID删除项(ASP.NET MVC)

问题描述 投票:0回答:1

我正在使用ASP.NET MVC解决方案。我的问题是,当我将一个外部项目放入日历时,我想设置从数据库中取得的ID,我已经放置了新记录。所以我所做的是在fullcalendar的drop事件中,传递记录拖动的数据,然后在服务器端,用控制器我在DB中插入信息然后我用json传递给成功方法id更新丢弃的项目。我有很多东西。我找到了创建新事件的解决方案(我不会这样做),以及其他不起作用的解决方案。这是我的代码:

JQUERY

    drop: function (date, jsEvent) {

        var currentRow = $(this);

        var Customer = currentRow.find("td:eq(0)").text();
        var Sign = currentRow.find("td:eq(1)").text();
        var Qta = currentRow.find("td:eq(2)").text();

        var rowdata = {
            'StartDate': date.format(),
            'Customer': Customer,
            'Sign': Sign,
            'Qta': Qta
        }

        $.ajax({
            type: 'post',
            data: rowdata,
            async: false,
            url: "/Home/SaveEventDrop",
            dataType: 'json',
            success: function (response) {
                 NewID = response.id;
            },
            failure: function (response) {
                alert(response.responseText);
            },
            error: function (response) {
                alert(response.responseText);
            }
        });

        $(this).remove();
        // HERE IS WHAT I WANT TO DO
        this.id = NewID;


    }

CONTROLLER

public ActionResult SaveEventDrop(string StartDate, string Customer, string Sign, string Qta)
    {
        SchedulerCalendar record = new SchedulerCalendar();

        //Formating the data
        Customer = Customer.Replace(System.Environment.NewLine, "").Trim();
        Sign = Sign.Replace(System.Environment.NewLine, "").Trim();
        Qta = Qta.Replace(System.Environment.NewLine, "").Trim();
        float FloatQta = float.Parse(Qta, CultureInfo.InvariantCulture.NumberFormat);

        record.customer = Customer;
        record.sign = Sign;
        record.qta = FloatQta;

        record.startDate = DateTime.Parse(StartDate);
        record.endDate = DateTime.Parse(StartDate);

        db.schedulerCalendars.Add(record);
        db.SaveChanges();


        return Json(record);
    }

所以,如果有人可以让我了解如何在drop函数中获取被删除的元素,以及如何更新id,我会非常感谢他!

谢谢

javascript jquery ajax asp.net-mvc fullcalendar
1个回答
0
投票

我为我的iusse找到了一个有效的解决方案,希望能帮助别人。从共享代码开始,我保存了json返回到“localStorage”变量的ID,因此我的AJAX成功函数将是:

    success: function (response) {
        localStorage.setItem("NewID", response.id);
    },

在此之后,我发现在删除后触发了“eventRecived”功能。在这里你有被删除项目的元素,我在这里设置了新的ID:

    eventReceive: function (event) {
        event.id = localStorage.getItem("NewID");
    },

如果有人有更好的解决方案,我将不胜感激。现在这个解决方案适合我。

© www.soinside.com 2019 - 2024. All rights reserved.