前台我用ajax,读取数据$(function() {
    $("#Button3").click(function() {
    $.ajax({
            type: "Post",
            url: "Public_Product_Select.aspx/GetStr",
            //方法传参的写法一定要对,str为形参的名字,str2为第二个形参的名字
            data: "{'Pro_Code':'" + document.getElementById('TextBox1').value + "','Pro_Name':'" + document.getElementById('TextBox1').value + "'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(data) {
            //返回的数据用data.d获取内容
                alert(data.d);
                document.getElementById("txtKeywords").value = "11111";
            },
            error: function(err) {
                alert(err);
            }
        });         //禁用按钮的提交   
        return false;
    });
});  
然后后台我想通过一个已经存在的方法[WebMethod]
        public static string GetStr(string Pro_Code, string Pro_Name)
        {
            string swhere = "and Pro_Name like '" + Pro_Name + "' and Pro_Code like'" + Pro_Code + "'";
            ViewState[vsKey] = swhere;//这行报错
            Binds(swhere);//这行报错,这是我已经定义的一个方法
            return Pro_Code + Pro_Name;
        }请问我应该怎么做啊?在线等,学习ajax中!!!!

解决方案 »

  1.   

    本帖最后由 net_lover 于 2011-08-26 14:38:56 编辑
      

  2.   

    jQuery 得到 ashx 返回的 JSON 格式的 DataSet 的方法
      

  3.   

    ajax读取json格式数据
    不知对你有没有用
      

  4.   

    jQuery Ajax
      

  5.   

    Jquery中使用Ajax
      

  6.   


    LS这么多链接,LZ慢慢点吧。
      

  7.   

    我这个是后台的一个方法,想通过ajax把数据读出到页面上!我的初衷是想在弹出层里点击查询按钮,用ajax将条件返回后台的方法,然后将一个查询结果绑定页面上的表格我一开始还以为,只要我从ajax将条件字符串传过去,然后后台再对应的方法里在调用已经写好的绑定数据库的方法,就行了。
      

  8.   

    你把条件传过去,查找出相应的结果,然后拼接成json格式的返回到客户端,客户端在对json处理,显示到你要显示的表格上。
      

  9.   

    哪里来的事件?
    如果非要坚持,你可以这样啊url: "Public_Product_Select.aspx?type=GetStr", 注意这里后台Page_Load里面if(Request.QueryString["type"]=="GetStr")
    {
      Response.Clear();
      Response.ContentType="application/json";
      Response.Write ("你的现有方法返回的内容");
      Response.End();
      return;
    }
      

  10.   

    我自己定义的读取数据库的事件啊public void Binds(string strWhere)
            {
                a.open();
                SqlCommand cmd = new SqlCommand();
                cmd.CommandText = "Pages"; //存储过程名
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Connection = a.connstr; //缺少这一句,补上即可
                int pageindex = 0;
                //string strWhere = "";
                if (AspNetPager1.CurrentPageIndex < 1)
                {
                    pageindex = 1;
                }
                else
                {
                    pageindex = AspNetPager1.CurrentPageIndex;
                }
                SqlParameter[] parameters ={
                 new SqlParameter("@tblname",SqlDbType.VarChar,255),
                 new SqlParameter("@strGetFields",SqlDbType.VarChar,1000),
                 new SqlParameter("@fldName",SqlDbType.VarChar,255),
                 new SqlParameter("@pagesize",SqlDbType.Int,4),
                 new SqlParameter("@pageindex",SqlDbType.Int,4),
                 new SqlParameter("@doCount",SqlDbType.Bit),
                 new SqlParameter("@ordertype",SqlDbType.Bit),
                 new SqlParameter("@strwhere",SqlDbType.VarChar,2000) 
                };
                parameters[0].Value = "Pro_Data";//数据表名称.
                parameters[1].Value = "*";//要显示的字段名
                parameters[2].Value = "Pro_Code"; //主键
                parameters[3].Value = AspNetPager1.PageSize;//每页显示记录数
                parameters[4].Value = pageindex;//索引页
                parameters[5].Value = 0;//这里写死0就行了
                parameters[6].Value = 0;//这里的1是降序,0为升序
                parameters[7].Value = strWhere;//查询条件组合            foreach (SqlParameter p in parameters)
                {
                    cmd.Parameters.Add(p);
                }            SqlDataAdapter sda = new SqlDataAdapter(cmd);
                DataSet ds = new DataSet();
                sda.Fill(ds);
                DataList1.DataSource = ds;
                DataList1.DataBind();
                a.close();
                AspNetPager1.RecordCount = int.Parse(ds.Tables[1].Rows[0][0].ToString());
                AspNetPager1.CustomInfoHTML = "记录总数:" + AspNetPager1.RecordCount.ToString() + "条,";
                AspNetPager1.CustomInfoHTML += "共有" + AspNetPager1.PageCount.ToString() + "页,";
                AspNetPager1.CustomInfoHTML += "当前页:" + AspNetPager1.CurrentPageIndex.ToString();
                //CustomInfoHTML.Text = AspNetPager1.CustomInfoHTML;
            }
      

  11.   

    我只是想在那个静态页面里
    string swhere = "and Pro_Name like '" + Pro_Name + "' and Pro_Code like'" + Pro_Code + "'";
                ViewState[vsKey] = swhere;
                Binds(swhere);可是要返回什么值呢,我直接绑定数据库,显示数据,这样不行吗
      

  12.   

    本帖最后由 net_lover 于 2011-08-26 15:26:23 编辑
      

  13.   

    本帖最后由 net_lover 于 2011-08-26 15:27:47 编辑