从javascript拖放事件调用C#方法

时间:2014-01-30 16:09:19

标签: c# javascript jquery

我有以下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#方法,该方法需要该参数来更改数据库表。我怎么能这样做?

感谢。

3 个答案:

答案 0 :(得分:2)

您需要创建一个Web服务方法,您可以在同一页面中执行此操作,然后使用ajax来调用此方法。以下是此示例:

答案 1 :(得分:0)

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

答案 2 :(得分:0)

您使用的是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>

请参阅?在这一点上,你可以访问拖动元素,你只需要选择你需要的属性,然后对某个.aspx页面进行ajax调用。所以你使用Request.Form [“someparam”]来处理那个页面;并从中得到一个干净的json。