前台我用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中!!!!
$("#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中!!!!
不知对你有没有用
LS这么多链接,LZ慢慢点吧。
如果非要坚持,你可以这样啊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;
}
{
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;
}
string swhere = "and Pro_Name like '" + Pro_Name + "' and Pro_Code like'" + Pro_Code + "'";
ViewState[vsKey] = swhere;
Binds(swhere);可是要返回什么值呢,我直接绑定数据库,显示数据,这样不行吗