【问题标题】:Call C# method from javascript drag and drop event从 javascript 拖放事件调用 C# 方法
【发布时间】:2014-01-31 01:05:55
【问题描述】:

我有以下可以拖放的 jQuery -

<script>
    $(function () {
        $(".draggable").draggable({
            helper: "clone"
        });
        $(".drag-div").droppable({
            accept: ".draggable",
            tolerance: "pointer",
            activeClass: "drop-here",
            hoverClass: "drop-here-hover",
            drop: function (event, ui) {
                $.fancybox({
                    href: '#add-quantity'                            
                });
            }
        });
    });
</script>

我需要能够获取我刚刚拖放的文本值,然后调用需要该参数来更改数据库表的 C# 方法。我该怎么做?

谢谢。

【问题讨论】:

    标签: c# javascript jquery


    【解决方案1】:

    你需要创建一个web service方法,你可以在你的同一个页面里做这个,然后用ajax调用这个方法。这是一个示例:

    【讨论】:

      【解决方案2】:

      您需要使用 Jquery Ajax,然后创建 asmx 或 WebApi。

      【讨论】:

        【解决方案3】:

        你在使用 asp.net mvc 吗?我认为您可以寻找 SignalR 来做到这一点。

        所以,如果你想太多,最简单的方法可能是创建一个类似 ondrop.aspx 的文件,然后通过一些 ajax 方法调用它:

        <script>
            $(function () {
                $(".draggable").draggable({
                    helper: "clone"
                });
                $(".drag-div").droppable({
                    accept: ".draggable",
                    tolerance: "pointer",
                    activeClass: "drop-here",
                    hoverClass: "drop-here-hover",
                    drop: function (event, ui) {
        
                        var $div = $(ui.draggable); // here access the dragging div
                        var param = $div.text();
                        $.post('ondrop.aspx', { someparam: param }).done(function (e) {
                            console.log(e);
                        });
        
                        $.fancybox({
                            href: '#add-quantity'                            
                        });
                    }
                });
            });
        </script>
        

        看到了吗?在这一点上,您可以访问拖动元素,您只需选择您需要的 wich 属性,然后对某些 .aspx 页面进行 ajax 调用。因此,您使用 Request.Form["someparam"]; 处理该页面并从中得到一个干净的 json。

        【讨论】:

        • 你也可以用,看看。 codeproject.com/Articles/526876/… SignalR 允许您执行实时事件,从客户端到服务器,甚至从服务器到客户端。
        • Plus MVC 不是使用 SignalR 的先决条件。
        • @MattBaughan - 你为什么在 WinForms 中使用 javascript?
        • 我得到的模板使用 javascript 进行拖放。我被要求让它修改一个 SQL 数据库。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-03-12
        • 2011-09-04
        • 1970-01-01
        • 2011-02-01
        • 1970-01-01
        • 2012-05-25
        • 1970-01-01
        相关资源
        最近更新 更多