注册 登录
编程论坛 ASP.NET技术论坛

[求助]关于页面间传递下拉列表值的问题

scindy 发布于 2007-03-20 15:19, 642 次点击

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编辑过]

3 回复
#2
scindy2007-03-20 15:28
我刚才又改了一下,地址栏里面的地址变成了:
http://localhost/5168it/search.aspx?pinfo=NOKI6610&chtype=1&addre=5&pst=4
这是不是又说明已经获得了值了?

但还是出上面那个问题:至少一个参数没有被指定值。


获得的这些值和数据库里面的一模一样,怎么就查不出数据来呢?

[此贴子已经被作者于2007-3-20 15:30:36编辑过]

#3
冰镇柠檬汁儿2007-03-20 15:53
你应该做str2,str3,str4的判断,如果没值的话,Request.QueryString("chtype"),Request.QueryString("addr"),Request.QueryString("pst")的值都应该是null,所以你的程序有问题
#4
scindy2007-03-20 15:56
我的一个字段写错了,现在已经没有问题,

不过还是要谢谢版主了`~`

呵~~

1