本帖最后由 kiviko 于 2010-04-18 18:02:22 编辑

解决方案 »

  1.   

    将搜索关键字通过url传参过去。然后在search.aspx页面获取调用即可至于vb.net。没学过,不是很了解,我学c#的
      

  2.   

    哦哦,我根据你的建议,我在首页用
    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()
    这样应该可以了啊,但是,我点击,什么反映都没有,又没出错,
    是不是数据库问题?
      

  3.   

    可使用server.transfer通过属性传值
    还有postbackurl等
    Dim str As String = "select * from book where 1=1", 
    str = If(String.IsNullOrEmpty(str), " name like '%" And Trim(keyword) And "%'", "")
      

  4.   

    我用了你这段代码,嗯,是的,可以,但是和我做出来出错的结果一样keyword.text,
    然后我改了下
    Dim keyword As New TextBoxkeyword的类型是textbox,但是,我通过断点查找结果,传来的值,是空的?这是怎么回事
      

  5.   

    嗯,有什么好BLOG么
    现在,运行没问题,但是,我搜索中国的话,产品全部出来了
    无论我搜索什么,都全部出来!
      

  6.   

    问题一,这样的思路对么?
    问题二,首页的textbox的值怎么绑定,怎么传到search.aspx里面出呢?这个是我很想了解的问题
    问题三,search.aspx页面 这样写没错吧selece * from link where name = & request.querystring("keyword.text")
    (1) 这个思路,我想说的是没有错。不过字符串有重复的地方select * from book 提取出来。
    (3)request.querystring("keyword.text")用这个的时候先判断是否为Null
      

  7.   

    是的,有个绿色波浪线,提示是变量“strsql”在赋值前被使用。可能会在运行时导致null引用异常,怎么解决呢?
      

  8.   

    keyword值怎么传递的
    也可使用session记录
    Dim keyword As TextBox值肯定为空,添加TextBox控件
    Server.Transfer("a.aspx?keyword="+keyword.Text);这是C#语法
    viewstate记录Request.QueryString("keyword")
      

  9.   

    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