1

我在带有 Masterpage 的 aspx 页面中有以下代码:

<script>
    $(function () {
        $('#_Default').droppable({
            drop: function (event, ui) {
                debugger;
                var sender = ui.draggable;
                var pageId = '<%=  Page.UniqueID %>';
                __doPostBack('<%=TriggerDraggable.UniqueID%>', 
                  'Draggable#' + sender[0].id);
            }
        });
        $('#_Source').droppable({
            drop: function (event, ui) {
                debugger;
                var sender = ui.draggable;
                var pageId = '<%=  Page.UniqueID %>';
                __doPostBack('<%=TriggerDraggable.UniqueID%>', 
                  'Selected#' + sender[0].id);
            }
        });
    });
</script>

如果页面不包含 Ajax-Toolkit 控件,一切都很好 - 但如果有,例如,ConfirmButtonExtender我会收到上述错误。

所以似乎 ajax 工具包以某种方式处理了这个功能。这就是为什么我在我的实际脚本标签前面插入了以下标签:

<script type="text/javascript" src="Scripts/jquery-1.8.0.js"></script>
<script type="text/javascript" src="Scripts/jquery-ui-1.8.23.js"></script>
<script type="text/javascript" src="Scripts/amplify.js"></script>
<script type="text/javascript" src="Scripts/juice.js"></script>

这样可以防止错误,并且我还可以拖动一些生成的元素,但是现在永远不会调用 drop 事件 - 这在以前有效。

有没有办法确保在 AJAX 工具包的函数调用之前首先调用我的脚本?还是我错过了更多的脚本参考?

两者都是需要的,AJAX 工具包和 JuiceUI。

4

1 回答 1

0

您确定浏览器控制台中没有JS脚本错误吗?在上面的脚本中,您的意思是在两个不同的地方在同一代码中使用 uniqueid 和 clientid 吗?即 var pageId = '<%= Page.UniqueID %>';var pageId = '<%= Page.ClientID %>';

于 2012-09-10T14:54:43.797 回答