ASP.NET(C#)网页搜索问题

A.aspx代码:<htmlxmlns="http://www.w3.org/1999/xhtml"><headrunat="server"><title>无标题页</t... A.aspx代码:
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="TextBox1" runat="server" OnTextChanged="TextBox1_TextChanged" Style="z-index: 100;
left: 98px; position: absolute; top: 91px"></asp:TextBox>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Style="z-index: 102;
left: 269px; position: absolute; top: 91px" Text="Button" />

</div>
</form>
</body>
</html>
A.aspx.cs代码:
。。。。。。
using System.Data.SqlClient;

public partial class A : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}
protected void TextBox1_TextChanged(object sender, EventArgs e)
{

}
protected void Button1_Click(object sender, EventArgs e)
{
string Key = this.TextBox1.Text; //声明变量等于TextBox1的值。
Response.Redirect("B.aspx?Key=" + Key); //转到B页面并且把TextBox1的值传过去。
}
}

B.aspx代码:

<!://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" runat="server" Style="z-index: 100; left: 121px; position: absolute;
top: 113px" >
</asp:GridView>

</div>
</form>
</body>
</html>
B.aspx.cs代码

public partial class B : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

string Key = Request.QueryString["Key"].ToString(); //接受A页面参数
SqlConnection conn = new SqlConnection("Server=OEM-B6E3FD40292;Initial Catalog=cacheeproject;User ID=sa"); //连接数据库
conn.Open(); //打开数据库
SqlDataAdapter sda = new SqlDataAdapter("select * from cacheeproject where 列名 like valueName", conn); //模糊查找
DataTable Data = new DataTable(); //声明一个DataTable变量叫Data
sda.Fill(Data); //填充这个Data
conn.Close(); //关闭数据库
this.GridView1.DataSource = Data;
this.GridView1.DataBind();

}

}

运行的时候提示这段的string Key = Request.QueryString["Key"].ToString(); //接受A页面参数
没有创建实例,使用New关键字创建实例。。。。

高手帮忙看看,谢谢了!我要实现的功能是:我建了个数据库,然后在A页面建个搜索,点击按钮可以把搜索到的信息都显示到B页面,我用的是VS2008+SQL2005做的。
高手们可不可以帮我写一个搜索功能啊。我是做的网上书店,搜索图书。在A页面中有textbox,和一个linkbutton.B页面随便(不管是用Gridview还是Repeater控件)只要可以显示出来就可以。
高手们帮帮忙吧,我的期末考试就要看这个了。。。。
展开
 我来答
11111118885556685
2009-12-28 · 超过13用户采纳过TA的回答
知道答主
回答量:30
采纳率:0%
帮助的人:34万
展开全部
根据你所提供的代码,可以看出,你这样就是直接用地址栏传值了,不支持中文吖, 你得先让用户输入的内容转码.
第一个页面的key应该==Server.UrlEncode("这个是一个测试数据");
第二个页面获得的:
string key=Server.UrlDecode(Request.QueryString["Key"].ToString());
这样第二个页面key=="这个是一个测试数据";
然后再查询..
百度网友8304525
2009-12-27 · TA获得超过154个赞
知道小有建树答主
回答量:193
采纳率:0%
帮助的人:228万
展开全部
添加判断:
if( Request.QueryString["Key"]!=null)
{
string Key = Request.QueryString["Key"].ToString(); //接受A页面参数
SqlConnection conn = new SqlConnection("Server=OEM-B6E3FD40292;Initial Catalog=cacheeproject;User ID=sa"); //连接数据库
conn.Open(); //打开数据库
SqlDataAdapter sda = new SqlDataAdapter("select * from cacheeproject where 列名 like valueName", conn); //模糊查找
DataTable Data = new DataTable(); //声明一个DataTable变量叫Data
sda.Fill(Data); //填充这个Data
conn.Close(); //关闭数据库
this.GridView1.DataSource = Data;
this.GridView1.DataBind();

}
=============================
建议:
把Load里面加载的数据的代码放在!Ispost里面,不然每次都会加载一次
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lewislxh
2009-12-27 · TA获得超过287个赞
知道答主
回答量:201
采纳率:0%
帮助的人:148万
展开全部
Response.Redirect("B.aspx?Key=" + Key);
改为: Response.Redirect("B.aspx?Key='" + Key +"'");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hansgenius
2010-01-08 · 超过11用户采纳过TA的回答
知道答主
回答量:76
采纳率:0%
帮助的人:37.1万
展开全部
不行的话可以用Session来传值。
A页
Session["Key"] = this.TextBox1.Text;
Response.Redirect("B.aspx");

B页:
string Key = Session["Key"].ToString();

SELECT * FROM 表 WHERE 书名 Like '%'+@Key +'%'
gridview再绑定就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
移舟钓月翁5169
2009-12-28 · TA获得超过684个赞
知道小有建树答主
回答量:376
采纳率:0%
帮助的人:211万
展开全部
B页面最好帅选一下,防止注入
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式