风大我抱树 2015-06-15 11:32 采纳率: 0%
浏览 2434

JQUERY ajax提交数据到后台,进行数据库查询,然后重新绑定GridView.

我在前台放了一个input,type=button,点击后触发下面的ajax提交数据到后台。后台处理后对一个GridView进行数据绑定。
前台代码如下:

 params = JSON.stringify(obj);
            $.ajax({
                type: "Post",
                url: "/aspx_consumption/Consumption_Home.aspx/AdvanceSearch",
                data: params,
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (data) {
                    alert(date);
                },
                error: function (err) {
                    alert(err);
                }
            });

后台也没问题:

  [WebMethod]
        public static DataSet AdvanceSearch(string Factory_Style_No, string Customer_Style_No, string Style_Type, string Writer, string Start, string End, string pageSize, string pageIndex)
        {
            DataSet ds = new DataSet();
            string connStr = @System.Configuration.ConfigurationManager.ConnectionStrings["Sample_Room_ProgressConnectionString"].ToString();
            SqlConnection conn = new SqlConnection(connStr);
            SqlCommand cmd = conn.CreateCommand();
            cmd.CommandType = CommandType.Text;
            //cmd.CommandText = "SELECT Consumption_ID,Consumption_Factory_Style_No,Customer_Style_No,Quantity,Writer,Sample_Type,Write_Date,Confirmation,Approval FROM [Sample_Room_Progress].[dbo].[Consumption] where Factory_Style_No like '%'+@Factory_Style_No+'%' AND Customer_Style_No like '%'+@Customer_Style_No+'%' AND Sample_Type like '%'+@Sample_Type+'%' AND Writer like '%'+@Writer+'%' BETWEEN Write_Date >=@Start AND Write_Date<=@End order by Write_Date DESC";
            cmd.CommandText = "SELECT Consumption_ID,Consumption_Factory_Style_No,Customer_Style_No,Quantity,Writer,Sample_Type,Write_Date,Confirmation,Approval FROM [Sample_Room_Progress].[dbo].[Consumption] where Factory_Style_No like '%'+@Factory_Style_No+'%' AND Customer_Style_No like '%'+@Customer_Style_No+'%' AND Sample_Type like '%'+@Sample_Type+'%' AND Writer like '%'+@Writer+'%' AND Write_Date between @Start and @End  order by Write_Date DESC";
            cmd.Parameters.Add("@Factory_Style_No", SqlDbType.NVarChar);
            cmd.Parameters["@Factory_Style_No"].Value = Factory_Style_No;
            cmd.Parameters.Add("@Customer_Style_No", SqlDbType.NVarChar);
            cmd.Parameters["@Customer_Style_No"].Value = Customer_Style_No;
            cmd.Parameters.Add("@Sample_Type", SqlDbType.NVarChar);
            cmd.Parameters["@Sample_Type"].Value = Style_Type;
            cmd.Parameters.Add("@Writer", SqlDbType.NVarChar);
            cmd.Parameters["@Writer"].Value =Writer;
            cmd.Parameters.Add("@Start", SqlDbType.DateTime);
            if (Start == "")
            {
                cmd.Parameters["@Start"].Value = DBNull.Value;
            }
            else
            {
                cmd.Parameters["@Start"].Value = Start;
            }

            cmd.Parameters.Add("@End", SqlDbType.DateTime);
            if (End == "")
            {
                cmd.Parameters["@End"].Value = DBNull.Value;
            }
            else
            {
                cmd.Parameters["@End"].Value = End;
            }           
            SqlDataAdapter ad = new SqlDataAdapter();
            ad.SelectCommand = cmd;
            int indexNum = Convert.ToInt32(pageIndex);
            int SizeNum = Convert.ToInt32(pageSize);
            ad.Fill(ds, indexNum, SizeNum, "Consumption");
            return ds;
        }

但是用Jquery ajax提交数据,后台必需要静态方法似乎没法操作ASP.NET控件。有什么办法可以解决?难道我只能用asp.net控件吗?

  • 写回答

4条回答 默认 最新

  • bdmh 移动开发领域优质创作者 2015-06-15 13:09
    关注

    其实前后台是可以互调的,你可以通过调用后台方法去控制,另外现在有很多第三方的js表格组件,用起来比asp.net的表格组件好用多了

    评论

报告相同问题?

悬赏问题

  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题