1.这个搜索事件里是把值赋给变量:(index.aspx)
Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Response.Redirect("search.aspx?pinfo=" & TextBox1.Text & " & chtype=" & changetype.SelectedValue & " & addre=" & addr.SelectedValue & " & pst=" & pstype.SelectedValue & "")
End Sub
2.这个过程里是获取值并使用:(search.aspx)
Sub plist()
Dim str1 As String = Request.QueryString("pinfo") '获取商品名称
Dim str2 As String = Request.QueryString("chtype") '获取交换类型
Dim str3 As String = Request.QueryString("addr") '获取商品地址
Dim str4 As String = Request.QueryString("pst") '获取小类名称
在这补充一点:除了str1获得了值以外,str2,str3,str4的值都是空的.没有获取到值
Dim strsql As String = "select * from product where productname=" & str1 & " and ctid='" & str2 & "' and cityid='" & str3 & "' and pstypeid='" & str4 & "'"
Dim cmd As New OleDbCommand(strsql, conn)
Dim adp As New OleDbDataAdapter(cmd)
Dim ds As New DataSet
adp.Fill(ds, "product")
DataList1.DataSource = ds
DataList1.DataBind()
End Sub
当我点搜索按钮跳转到search.aspx后,提示错误信息如下:
至少一个参数没有被指定值。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.OleDb.OleDbException: 至少一个参数没有被指定值。
源错误:
行 47: Dim adp As New OleDbDataAdapter(cmd)
行 48: Dim ds As New DataSet
行 49: adp.Fill(ds, "product")
行 50: DataList1.DataSource = ds
行 51: DataList1.DataBind()
源文件: G:\wwwroot\5168it\search.aspx.vb 行: 49
地址栏的地址为:
http://localhost/5168it/search.aspx?pinfo=%e8%87%aa%e7%94%a8NOKI6610%20&%20chtype=1%20&%20addre=5%20&%20pst=4
[此贴子已经被作者于2007-3-20 15:22:33编辑过]