asp 的select简单问题

<selectname="cid"id="cid"><%setrsf=server.CreateObject("adodb.recordset")rsf.Open"sel... <select name="cid" id="cid">
<%
set rsf=server.CreateObject("adodb.recordset")
rsf.Open "select * from board where classid=3 order by id desc ",connkillsql,1,1
bid=request.QueryString("bid")
%>
<% do while not rsf.eof%>
<option value="<%=rsf("boardid")%>" <% if rsf("boardid")=bid then%>selected="selected" <%end if%>><%=rsf("boardname")%></option>

<%
rsf.movenext
loop
rsf.close

%>
</select>

这句<% if rsf("boardid")=bid then%>selected="selected" <%end if%>
为何这里if rsf("boardid")=bid 取不到bid的值呢?没错啊
bid=request.QueryString("bid")当然是传过来的,这个就是接收啊
```````````````````
我如果改成<option value="<%=rsf("boardid")%>" <%=bid%>><%=rsf("boardname")%></option>
以下就是输出的,说明bid是正常的有值啊

<select name="cid" id="cid">

<option value="13" 6>电子楼书</option>

<option value="12" 6>视频展播</option>
·
·
</select>
展开
 我来答
rcrr725
2009-11-10 · TA获得超过238个赞
知道答主
回答量:95
采纳率:0%
帮助的人:0
展开全部
分别把rsf("boardid") 和 bid 打印出来,如果bid为空的话,说明你上一个页面没有把这个参数传递过来.

你现在是用request.QueryString方式接收参数,因此上一个页面传递过来的bid务必以GET方式提交,如果是放到FROM里的是获取不到的.
另外在比较的时候我建议你换成

<% if trim(rsf("boardid"))=trim(bid) then%>selected="selected"<%end if%>

避免因为看不到的空格耽误宝贵的时间.呵呵.

===

既然两个值都获取到了,那就是对比的问题了.建议你换成我上面的方法进行对比,看的出是你想将SELECT里面的某一个OPTION设置成选中状态.那就要确定你取出来的值是否有和OPTION相同的啦.
abill425
2009-11-10 · TA获得超过1726个赞
知道小有建树答主
回答量:663
采纳率:100%
帮助的人:1077万
展开全部
你的bid是通过ASP的地址参数传过来的吗?不能确定的话把

bid=request.QueryString("bid")

改成

bid=request("bid")

试试。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
爆牙哥来了
2009-11-10 · TA获得超过2.1万个赞
知道小有建树答主
回答量:1696
采纳率:33%
帮助的人:589万
展开全部
数值型的吧?
改成这样
if cint(rsf("boardid"))=cint(bid)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
miniapp6SMUIJPqGf1dU
2009-11-10
知道答主
回答量:22
采纳率:0%
帮助的人:7.4万
展开全部
bid 是不是变量

如果不是要双引号 rsf("boardid")="bid"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式