【问题标题】:Saving Dragged Dropped items position on postback in asp.net在 asp.net 中的回发中保存拖放的项目位置
【发布时间】:2011-01-13 14:45:15
【问题描述】:

好的,我看到很多关于如何序列化拖动项目的值以获取哈希值的帖子,并告诉他们如何保存它们。现在的问题是,下次当用户使用我得到的 has 值登录时,如何保留拖动的项目 例如:

  <ul class="list">
        <li id="id_1">
            <div class="item ui-corner-all ui-widget ui-widget-content">
            </div>
        </li>
        <li id="id_2">
            <div class="item ui-corner-all ui-widget ui-widget-content">
            </div>
        </li>
        <li id="id_3">
            <div class="item ui-corner-all ui-widget ui-widget-content">
            </div>
        </li>
        <li id="id_4">
            <div class="item ui-corner-all ui-widget">
            </div>
        </li>
    </ul>

在序列化时会给出

"id[]=1&id[]=2&id[]=3&id[]=4"

现在想想我把它保存到 Sql server 数据库中的一个名为 SortOrder 的字段中。 现在我要如何重新获得这些订单的商品? 进行这些排序的代码如下,没有它人们不知道我用哪个库来排序和序列化

 <script type="text/javascript">
    $(document).ready(function() {
        $(".list li").css("cursor", "move");
        $(".list").sortable();
    });
</script>

【问题讨论】:

    标签: asp.net jquery sql ajax user-interface


    【解决方案1】:

    有几个选项。一种选择是在服务器端进行排序。您可以在 .NET 中读出该字符串,以便按顺序动态生成列表。然后输出到浏览器。

    另一种选择是将序列化的字符串作为 javascript 中的字符串变量输出。然后,您可以使用 jQuery 对元素进行重新排序。这种方法的问题在于,可能会出现无序列表显示的闪烁,然后出现正确排序的列表。

    【讨论】:

    • 是的,第二种方法是我的理想选择。因为每次刷新页面时,我都无法继续从服务器端将服务器控件添加到列表中。您是否有任何关于闪光灯的解决方法[例如模态显示等]
    • 在您的 CSS 文件中将 &lt;ul&gt; 设置为 display:none。然后,jQuery 运行后对列表进行排序,设置display:block
    • 简单的提示,但确实有帮助。但这只是让我感到困惑,我怎么说在 UL 标记下取第 3 个 li 然后使其成为第一个子节点。复制一个,删除节点然后将该副本添加为 UL 的子节点是一个好习惯
    猜你喜欢
    • 2018-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-25
    相关资源
    最近更新 更多