主题:  请高手指点response.Write 链接网页的问题

ztcztc

职务:普通成员
等级:1
金币:0.0
发贴:20
#12004/6/30 21:47:31
<!--#include file="conn.asp"-->
<%
'=================================================
'过程名:Showxinweng
'作 用:显示新闻标题,要求最多显示5条新闻标题,显示的标题字数给于限制,用CALL Showxinweng(5,18)调用此过程
'参 数:ArticleNum ----最多显示多少篇新闻
' TitleLen ----标题最多字符数,一个汉字=两个英文字符
'=================================================
sub Showxinweng(ArticleNum,TitleLen)
dim sqlxinweng,rsxinweng
dim gotTopic()
if ArticleNum>0 and ArticleNum<=100 then
sqlxinweng="select top " & ArticleNum
else
sqlxinweng="select top 5 "
end if
sqlxinweng=sqlxinweng & " * from ztc order by id desc"
Set rsxinweng= Server.CreateObject("ADODB.Recordset")
rsxinweng.open sqlxinweng,db,1,1
if TitleLen<0 or TitleLen>255 then TitleLen=50
if rsxinweng.bof and rsxinweng.eof then
response.write "<li>暂时没有新闻</li>"
else
do while not rsxinweng.eof
response.Write "<li><a href= 'Look.asp?ID=" & rsxinweng("id") &" " & rsxinweng("title") & " ' target='_blank'> </a></li><br>"
rsxinweng.movenext
loop
end if
rsxinweng.close
set rsxinweng=nothing
end sub
%>

这个过程我用CALLShowxinweng(5,18)调用时不显示错误,可是不在页面上显法数据库中的标题,但从在浏览器的“查看”——“源文件”,可以看到显示的正确的ID及标题,请问是哪儿出错了?我怀疑是不是
response.Write "<li><a href= 'Look.asp?ID=" & rsxinweng("id") &" " & rsxinweng("title") & " ' target='_blank'> </a></li><br>"
这段代码有问题?请指点迷津!



janlay

职务:管理员
等级:7
金币:28.0
发贴:7244
#22004/7/1 14:54:48
引用:
<a href= 'Look.asp?ID=" & rsxinweng("id") &" " & rsxinweng("title") & " ' target='_blank'> </a>
压根就没指定标题,怎么会显示出来?

<a href=url>text</a>



浮尘

职务:普通成员
等级:3
金币:7.0
发贴:1258
#32004/7/1 18:58:31
就是呀!没指定显示标题。



ztcztc

职务:普通成员
等级:1
金币:0.0
发贴:20
#42004/7/9 23:06:15
rsxinweng("title") 不就是从数据库中提取的标题吗?那正确的该如何写?



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
#52004/7/10 9:45:29
基本的HTML知识

<a href= 'Look.asp?ID=" & rsxinweng("id") &" target=_blank>"& rsxinweng("title") &" </a>



ztcztc

职务:普通成员
等级:1
金币:0.0
发贴:20
#62004/7/13 22:10:38
谢谢各位的关心,尤其是要谢谢“缺缺”。显示的标题的问题解决了,但并不能实现另一功能,那就是在标题字多了以后,不能显示指定的字数,请各位在指教一下
sub Showxinweng(ArticleNum,TitleLen)
dim sqlxinweng,rsxinweng
dim gotTopic()
if ArticleNum>0 and ArticleNum<=100 then
sqlxinweng="select top " & ArticleNum
else
sqlxinweng="select top 5 "
end if
sqlxinweng=sqlxinweng & " * from ztc order by id desc"
Set rsxinweng= Server.CreateObject("ADODB.Recordset")
rsxinweng.open sqlxinweng,db,1,1
if TitleLen<0 or TitleLen>255 then TitleLen=50
if rsxinweng.bof and rsxinweng.eof then
response.write "<li>暂时没有新闻</li>"
else
do while not rsxinweng.eof
response.Write "<li><a href= Look.asp?ID=" & rsxinweng("id") & "
target='_blank'>" & rsxinweng("title") & gotTopic( rsxinweng("title"), TitleLen) "</a></li><br>"
rsxinweng.movenext
loop
end if
rsxinweng.close
set rsxinweng=nothing
end sub
%>



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
#72004/7/14 9:35:08
我想你最好明白这些代码的意思

rsxinweng("title") & gotTopic( rsxinweng("title"), TitleLen)

这个是输出了两遍的标题


你的gotTopic是怎么定义的?
dim gotTopic()

编辑历史:[此帖最近一次被 allinhands 编辑过(编辑时间:2004-07-14 09:52:19)]


沉默是金

职务:普通成员
等级:6
金币:11.2
发贴:4357
#82004/7/14 9:39:36
gotTopic( rsxinweng("title"), TitleLen)
晕,你定义个动态数组来做函数,你牛

<%
function gettitlelen(title,titlelen)
if isnull(title) or title = "" then
gettitlelen = "请输入字符串"
exit function
end if

if not isnumeric(titlelen) or titlelen="" then
gettitlelen = "请输入有效数字"
exit function
end if

if instr(titlelen,".")>0 then
gettitlelen = "请输入有效数字"
exit function
end if

if cint(titlelen)<=0 then
gettitlelen = "请输入有效数字"
exit function
end if

if cint(titlelen)>len(title) then
gettitlelen = "数值过大"
exit function
end if

gettitlelen=left(title,titlelen)
end function

response.write gettitlelen("abcdefghijklmnopqrstuvwxyz",7)
%>
以上代码末经测试,呵。


难人一个……

ztcztc

职务:普通成员
等级:1
金币:0.0
发贴:20
#92004/7/19 21:07:16
谢谢“缺缺”和“消声匿迹”的指导,控制标题字数的问题已解决了,目前我想实现在通过后台输入文本时可以实现字体选择、字的大少和文本居中等,就如回贴子这样可以实现对文本的控制一样。我现在已理出一点头绪,但还没有实现,我只知道只用表单的文本框无法实现,正白思不解其意!



沉默是金

职务:普通成员
等级:6
金币:11.2
发贴:4357

ztcztc

职务:普通成员
等级:1
金币:0.0
发贴:20
#112004/7/19 21:42:45
谢谢你,销声匿迹,你可真“牛”,我现在还是一个菜鸟,正在摸索中!



ztcztc

职务:普通成员
等级:1
金币:0.0
发贴:20
#122004/7/20 12:42:16
郁闷,用eWebEditor - eWebSoft在线编辑器新增内容时显示HTML代码,不出现文本格式!
我在后台添加页面的内容表单(content)输入做了修改,加入了在线编辑器文本框,这段代码为<textarea name="content" style="display:none"></textarea>
     <iframe ID="eWebEditor1" src="../eWebEditor/ewebeditor.asp?id=content&style=standard" frameborder="0" scrolling="no" width="600" HEIGHT="400"></iframe> 。
在输入内容时正常,也存入了数据库,可无法显示文本格式,出现的是HTML代码,如空格、字体加粗等都为THML代码。
我在显示页面无论是否加了HTML代码转换函数都无效(函数代码为:
<%
function html(content)
html=content
if content<>"" then
html=replace(xhhtml,chr(13),"<br>"
Html=replace(xhHtml,chr(34),"&quot;"
Html=replace(xhHtml,chr(32),"&nbsp;"
end if
end function
%>
显示内容的代码为:<%=html(rs("content")%>)。
当然不用在线编辑器时输入内容时一切正常,如空格就不出现空格HTML代码,高手教我!



沉默是金

职务:普通成员
等级:6
金币:11.2
发贴:4357
#132004/7/20 14:00:13
ztcztc在上个帖子中说
引用:
郁闷,用eWebEditor - eWebSoft在线编辑器新增内容时显示HTML代码,不出现文本格式!
在输入内容时正常,也存入了数据库,可无法显示文本格式,出现的是HTML代码,如空格、字体加粗等都为THML代码。
我在显示页面无论是否加了HTML代码转换函数都无效(函数代码为:
<%
function html(content)
html=content
if content<>"" then
html=replace(xhhtml,chr(13),"<br>")
Html=replace(xhHtml,chr(34),"&quot;")
Html=replace(xhHtml,chr(32),"&nbsp;")
end if
end function
%>
显示内容的代码为:<%=html(rs("content"))%>)。
当然不用在线编辑器时输入内容时一切正常,如空格就不出现空格HTML代码,高手教我!

既然存入数据库的都是HTML代码,那你还有什么好转换的呢
直接response.write 就可以了呀。

还有,你的函数好象有问题哟 :o


难人一个……

ztcztc

职务:普通成员
等级:1
金币:0.0
发贴:20
#142004/7/20 22:07:27
你真厉害,上面是有点错误,哈哈,这下应该没有错误了吧:
%
function html(content)
html=content
if content<>"" then
html=replace(html,chr(13),"<br>"
Html=replace(Html,chr(34),"&quot;"
Html=replace(Html,chr(32),"&nbsp;"
end if
end function
%>
显示内容的代码为:<%=html(rs("content")%>)。

你说的我先试过,我取消了这段代码还是老样子!



ztcztc

职务:普通成员
等级:1
金币:0.0
发贴:20
#152004/7/20 22:42:50
对了,我是:<%=rs("content")%>显示文本内容,而不是response.Write ,我想应该没有什么问题吧!请教