asp网站在修改文章时,接收到传递的ID,修改页面的下拉列表、单选按钮都默认显示出文章在数据库中的选项,这一点很重要。要实现这一点,主要是通过判断该值是不是数据库中的值,是则为该项添加“slelected”属性,不是则不添加。下面的代码中要用到数据库中的两个表news(文章表)和type(分类表),各有字段若干。完整的查询、判断、显示代码如下:
<%
sql="select * from news where id="&request("id")
set rs0=server.createobject("adodb.recordset")
rs0.open sql,conn,1,1
%>
<!--第一个查询。根据传递的“id”,查询表“news”。-->
首页显示:
<select name="xs" id="xs">
<option value="1" <%if intValue=1 then response.write " selected"%>>
显示
</option>
<option value="0" <%if intValue=0 then response.write " selected"%>>
不显示
</option>
<!--我不明白“intValue”的意思,但是此法行得通。也可以把“intValue”代换成“rs("xs")”。-->
</select>
<!--上面的代码适用于只查询一个表的情况,当涉及到两个表时,要修改一下,如下-->
分类:
<%
set rs1=server.createobject("adodb.recordset")
sql="select * from type"
rs1.open sql,conn,1,1
%>
<!--第二个查询。查询数据库中的分类表“type”。-->
<select name"typeid" id="typeid">
<% do while not rs1.eof %>
<option value="<%=rs1("typeid")%>" <%if rs1("typeid")=rs0("typeid") then response.write " selected"%> >
<%=rs("type")%>
</option>
<!--重点是“rs1("typeid")=rs0("typeid")”,这样当数据库中分类的id与文章分类id一致时,该分类就会成为默认-->
<%
rs1.movenext
loop
%>
</select>
<%
rs1.close
%>
<!--上面是下拉列表的动态取值。-->
<input type="radio" name="tp" value="1" <%if rs0("tp")="1" then%>checked="<%response.write("checked")%>" <%end if%> />有图;
<input type="radio" name="tp" value="0" <%if rs0("tp")="0" then%>checked="<%response.write("checked")%>" <%end if%> />无图
<!--上面是单选按钮的动态取值-->
<%
rs0.close
set rs0=nothing
conn.close
set conn=nothing
%>
(完)
没有评论:
留言须知:
0. 你有權保持沉默,但你所說的將作為此BLOG有人訪問的證據。
1. 支持的HTML標籤:<a href="" title=""> <b> <em> <i> <strong>。
2. 留言留名,不然易被无视。(在“评论”中选择“名称/网址”,网址可以不填)。
3. 原則上我不删除留言,除非那則留言侮辱到你。