哦哦,我根据你的建议,我在首页用 Dim strsql As String strsql = Request.QueryString("keyword.text") 然后在search.aspx Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim conn As New OleDbConnection("provider=Microsoft.jet.OlEDB.4.0;data source=" & Server.MapPath("~/data/#book.mdb")) Dim strsql As String Dim keyword As TextBox strsql = "select * from book where name=" & Request.QueryString("keyword.text") If Trim(keyword.Text) = "全部" Then strsql = "select * from book" Else strsql = "select * from book where name like '%" & Trim(keyword.Text) & "%'" End If Dim cmd As New OleDbCommand(strsql, conn) conn.Open() Dim dr As OleDbDataReader = cmd.ExecuteReader() datalist2.DataSource = dr datalist2.DataBind() conn.Close() 这样应该可以了啊,但是,我点击,什么反映都没有,又没出错, 是不是数据库问题?
可使用server.transfer通过属性传值 还有postbackurl等 Dim str As String = "select * from book where 1=1", str = If(String.IsNullOrEmpty(str), " name like '%" And Trim(keyword) And "%'", "")
我用了你这段代码,嗯,是的,可以,但是和我做出来出错的结果一样keyword.text, 然后我改了下 Dim keyword As New TextBoxkeyword的类型是textbox,但是,我通过断点查找结果,传来的值,是空的?这是怎么回事
问题一,这样的思路对么? 问题二,首页的textbox的值怎么绑定,怎么传到search.aspx里面出呢?这个是我很想了解的问题 问题三,search.aspx页面 这样写没错吧selece * from link where name = & request.querystring("keyword.text") (1) 这个思路,我想说的是没有错。不过字符串有重复的地方select * from book 提取出来。 (3)request.querystring("keyword.text")用这个的时候先判断是否为Null
keyword值怎么传递的 也可使用session记录 Dim keyword As TextBox值肯定为空,添加TextBox控件 Server.Transfer("a.aspx?keyword="+keyword.Text);这是C#语法 viewstate记录Request.QueryString("keyword")
C#真的不会, session这个怎么写呢? 是不是, 首页是 session("keyword.text") Response.Redirect("~/search.aspx?name=" & keyword.Text) search.aspx 是 If Trim(Session("keyword.text")) = "全部" Then strsql = "select * from book" Else strsql = "select * from book where name like '%" & Trim(Session("keyword.text")) & "%'" End If
Dim strsql As String
strsql = Request.QueryString("keyword.text")
然后在search.aspx
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim conn As New OleDbConnection("provider=Microsoft.jet.OlEDB.4.0;data source=" & Server.MapPath("~/data/#book.mdb"))
Dim strsql As String
Dim keyword As TextBox
strsql = "select * from book where name=" & Request.QueryString("keyword.text")
If Trim(keyword.Text) = "全部" Then
strsql = "select * from book"
Else
strsql = "select * from book where name like '%" & Trim(keyword.Text) & "%'"
End If
Dim cmd As New OleDbCommand(strsql, conn)
conn.Open()
Dim dr As OleDbDataReader = cmd.ExecuteReader()
datalist2.DataSource = dr
datalist2.DataBind()
conn.Close()
这样应该可以了啊,但是,我点击,什么反映都没有,又没出错,
是不是数据库问题?
还有postbackurl等
Dim str As String = "select * from book where 1=1",
str = If(String.IsNullOrEmpty(str), " name like '%" And Trim(keyword) And "%'", "")
然后我改了下
Dim keyword As New TextBoxkeyword的类型是textbox,但是,我通过断点查找结果,传来的值,是空的?这是怎么回事
现在,运行没问题,但是,我搜索中国的话,产品全部出来了
无论我搜索什么,都全部出来!
问题二,首页的textbox的值怎么绑定,怎么传到search.aspx里面出呢?这个是我很想了解的问题
问题三,search.aspx页面 这样写没错吧selece * from link where name = & request.querystring("keyword.text")
(1) 这个思路,我想说的是没有错。不过字符串有重复的地方select * from book 提取出来。
(3)request.querystring("keyword.text")用这个的时候先判断是否为Null
也可使用session记录
Dim keyword As TextBox值肯定为空,添加TextBox控件
Server.Transfer("a.aspx?keyword="+keyword.Text);这是C#语法
viewstate记录Request.QueryString("keyword")
session这个怎么写呢?
是不是,
首页是
session("keyword.text")
Response.Redirect("~/search.aspx?name=" & keyword.Text)
search.aspx
是 If Trim(Session("keyword.text")) = "全部" Then
strsql = "select * from book"
Else
strsql = "select * from book where name like '%" & Trim(Session("keyword.text")) & "%'"
End If