在没有回发的情况下从数据库中删除 - 想要为已删除的消失项目设置动画

时间:2010-08-25 15:42:25

标签: asp.net jquery sql-server ajax

我有一个显示div块中包含的信息的站点。 信息来自数据库,因此用户可以更改信息或删除信息。

当用户删除div块时,我想使用jQuery来动画它的消失,以及它从数据库中删除。 如何在不进行回发的情况下执行此操作,我不希望网站重新加载,我只是希望Div块在视觉上消失并同时从数据库中消失。

我会使用Ajax更新面板来实现这一目标吗?

3 个答案:

答案 0 :(得分:5)

试试这个。您必须在开始时更改表达式并创建Web服务来处理回调。

 <script type="text/javascript" language="javascript">
      var expression = "div.deleteable";

      jQuery(function($) {
           $(expression).click(function(){
              var itemId = $(this).attr("Id");
              $.ajax({ type: "POST",
                       url: "YourPage.aspx/DeleteItem",
                       data: "{'Id' :'" + itemId + "'}",
                       dataType: "json",
                       contentType: 'application/json; charset=utf-8',
                       success: function(json) {
                          $(this).slideUp('fast',function(){
                             //gone - perhaps report to the user that delete was successful,
                             //by accessing jason.d
                                var result = eval("(" + json.d + ")");

                              $(this).remove();
                            });
                        },
                        timeout: 5000,
                        error: function(XMLHttpRequest, textStatus, errorThrown) {
                            if (textStatus == 'timeout') {
                               alert('timeout');
                            }
                            //Other error handlers here
                        }
                 });
           });
       });

 </script>
页面代码隐藏文件中的

    [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
    [WebMethod]
    public static string DeleteItem(string Id)
    {
        //Returns a json  string with success message 
        var result = YourBusinessLayerClass.DeleteItem(Id);  
        return result;
    }

答案 1 :(得分:3)

像这样......

$.ajax({ ... 
success : function(){ 
    var target = $('#MyDeletedElement');
    target.fadeOut('fast',function(){
        target.remove();
    });
});

答案 2 :(得分:1)

尽管整个示例是使用php编写的,但这应该可以让您基本了解如何完成您要执行的操作。

http://papermashup.com/jquery-ajax-delete/

此链接将显示如何使用JQuery

在代码隐藏文件中调用WebMethod

http://www.codedigest.com/Articles/ASPNETAJAX/185_Using_JQuery_in_ASPNet_AJAX_Applications%E2%80%93Part_2.aspx