Query Ajax的使用

12 篇文章 0 订阅

场景:在Gridview列表中显示有从数据库提取出来的数据,现在要通过jQuery.Ui.Dialog弹出显示每条数据的详细信息,并在弹出窗口中修改编辑。

需要处理的问题:1、将Gridview中选择记录ID提交给jQuery.Ui.Dialog

                      2、保存处理

设计思路:

为数据绑定、数据更新设计一个aspx页面专门。通过调用jQuery ajax的load方法,载入数据绑定页面进而显示绑定的数据。

页面代码

<div id="loading" class="loading">
        服务器处理中,请稍后。
    </div>
    <div id="divBindShowData">
    </div>
     <data:EntityGridView ID="GridView1" DataSourceID="TbCorpCreditsInfoDataSource"  DataKeyNames="PrimaryKey" >
       <Columns>
          <asp:TemplateField HeaderText="查看/编辑">
               <ItemTemplate>
                    <asp:HyperLink ID="hlCreditScoreEdit" runat="server"  ImageUrl='Images/View.gif'   PrimaryKey='<%# DataBinder.Eval(Container.DataItem, "PrimaryKey") %>' />
               </ItemTemplate>
           </asp:TemplateField>
            <asp:BoundField DataField="CorpName" HeaderText="企业名称" SortExpression="[CorpName]" />                    
            <asp:BoundField DataField="CreditRank" HeaderText="信用等级" SortExpression="[creditRank]" />
        </Columns>            
      </data:EntityGridView>

js代码

 

// Dialog
            $('#divBindShowData').dialog({
                autoOpen: false,
                width: 800,
                height: 550,
                modal: true,
                title: "房地产开发企业信用评价编辑",
                buttons: {
                    "保存": function() {
                        $.ajax({
                            type: "Post",
                            contentType: "application/html",
                            url: "CreditIntegralListUpdate.aspx?" + $("#divBindShowData input[type='text'][Id*='data']").serialize() + "&" + $("#divBindShowData input[Id*='primaryKey']").serialize(),
                            data: "",
                            dataType: 'html',
                            success: function(result) { alert("更新成功!"); },
                            error: function(result, status) { //如果没有上面的捕获出错会执行这里的回调函数
                                if (status == 'error') {   alert(status);  }
                            }
                        });
                    },
                    "取消": function() {
                        $(this).dialog("close");
                    }
                }
            });
            //
            $("a[Id*='hlCreditScoreEdit']").click(function() {
                $("#divBindShowData").load("CreditIntegralEdit.aspx?PrimaryKey=" + $(this).attr("PrimaryKey");
                $('#divBindShowData').dialog('open');
                return false;
            });
            //对与Ajax的监控,本身是全局性的
            $(document).ready(function() {
                $('#loading').ajaxStart(function() {
                    $(this).show();
                    $(this).floatdiv("middle");
                }).ajaxStop(function() {
                    $(this).hide();
                });
            });
        });

这里我通过.load 方法载入了CreditIntegralEdit.aspx页面的数据,而通过数列表CreditIntegralEdit.aspx中所有需要更新的字段,并将这序列化字符串通过ajax传递给CreditIntegralListUpdate.aspx页面。从而实现数据的绑定更新。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用\[1\]中提到了关于ajax请求中的queryParams参数的使用方法。queryParams是一个函数,用于在发送请求时添加额外的参数。该函数接收一个params参数,可以通过重写这个参数来添加额外的参数。在这个例子中,函数直接返回了params参数,没有添加额外的参数。\[1\] 引用\[2\]中提到了ajaxOptions中的配置对于queryParams参数的影响。具体来说,ajaxOptions中的配置type、url、data、cache、contentType、dataType、success、error都是无用的,因为queryParams函数会覆盖这些配置。\[2\] 引用\[3\]中给出了一个解决方法,其中queryParams函数被用来添加额外的参数。在这个例子中,queryParams函数将a和b两个参数添加到了params中,并返回了params。同时,contentType也被修改为了常用的请求类型。\[3\] 综上所述,queryParams参数可以通过重写函数来添加额外的参数,而ajaxOptions中的配置对于queryParams参数是无用的。如果需要在ajax请求中传递参数,可以使用queryParams函数来添加参数。同时,可以根据需要修改contentType的值。 #### 引用[.reference_title] - *1* *2* *3* [bootstrap-table中ajaxOptions配置&ajax传参问题](https://blog.csdn.net/wei549434510/article/details/78941617)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值