我有两个页面,一个search.aspx和show.aspx在search.aspx显示搜索数据时,搜索按钮点击
我有2个文本框,位置,标题1个下拉列表,经验
现在,当人点击搜索按钮,如果人已经比GridView控件显示填充的位置该位置的所有数据,如果人填补这两个位置,标题比它应该显示的位置和标题的这两个条件的数据,如果人补全文本框,下拉列表比它应该显示与该位置的标题和经验
数据现在,因为我有GridView控件在另一页,所以我所有的文本框,下拉值转移到另一个页面通过查询字符串,但它没有显示任何数据
和搜索另一个这样应该怎样存储过程?
我做了类似
存储程序 - (错了,但它实际上应该是什么?)
ALTER PROCEDURE search
(
@Location nvarchar(50),
@Experience nvarchar(50),
@Title nvarchar(50)
)
AS
select * from Jobs where
[email protected] and
[email protected] and
[email protected]
or
[email protected]
or
[email protected]
or
[email protected]
search.aspx-
protected void imgbtnsubmit_Click(object sender, ImageClickEventArgs e)
{
Response.Redirect("show.aspx?loc,title,exp="+textloc.text+txttitle.Text+dropdownlistexperience.SelectedItem);
}
在show.aspx页
,它这需要在查询字符串该值并显示在grdview
show.as perticular数据PX-
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
dal.location = Request.QueryString["loc"];
dal.title = Request.QueryString["title"];
dal.exerience = Request.QueryString["exp"];
GridView1.DataSource = bal.search(dal);
GridView1.DataBind();
}
}
bal-
public DataTable search(portalDal dal)
{
con.Open();
cmd = new SqlCommand("search", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@Location", dal.location);
cmd.Parameters.AddWithValue("@Experience", dal.experience);
cmd.Parameters.AddWithValue("@Title", dal.title);
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt);
con.Close();
return dt;
}
错误 - 过程或函数 '搜索' 预计参数 '@location',但未提供。
我觉得..in搜索页 –
你没有错保护无效imgbtnsubmit_Click(对象发件人,ImageClickEventArgs E) { 的Response.Redirect( “?show.aspx LOC,标题,EXP =” + textloc.text + txttitle.Text + dropdownlistexperience.SelectedItem); }看到的差异textloc.text + txttitle.Text textloc.text是小写,它应该是txtloc.Text –