博客站长












Dreamweaver做asp动态网页技巧




1.硬换行
  在留言时,如果忘了回车,或就是一个长句子,留言内容就只能是显示一行,这样表格就要挣大,非常难看,但是,也不能在提交留言页写上:请按回车,否则就会破坏表格布置。这样就非常不方便了,同时这也不是我们的初衷,所以这个问题也是要解决。
  这里要用到一段代码,这个代码就是在表格中强制换行,只要这一行字到达表格的边缘,那么一定会强制换行的,这里可以输入一段长文字,然后预览一下,接着把下面的这一段代码,
  放到需要强制换行的表格中,这里是放在留言内容显示的表格,打开代码窗口,找到动态字段ly_contnet的表格<table......>,(就是显示留言页面的显示留言那个表格),将下面的代码插入到table的后面,要空一格:
style="word-break:break-all;"
 


2.换行符格式化
  由于在ASP程序制作时,选用了VBScript脚本语言,那么在提交留言时VBScript显示的换行符为:“VBCrLf”,而在HTML代码中换行符为“<br>”,所以在显示留言时就无法将二者结合在一起,要解决这个问题,那只能进行置换操作,将VBScript产生的换行符“VBCrLf”转换成HTML代码中换行符“<br>”,那么在显示的时候,VBScript产生的换行符“VBCrLf”就能正确在留言中显示。
  打开显示内容页.asp,转到代码状态,将下面这个小函数复制到<html>以上,当然放在别的地方也行(不过要保证能运行)为什么中间要空一行,因为后面要用,当然也可以不空行。
<%
function DoWhiteSpace(str)
DoWhiteSpace=replace((str),vbCrLf,"<br>")

end function
%>
 
接着将这个函数名(DoWhiteSpace)引用到要显示内容的字段,在本处就是经过格式化的"ly_contnet"字段。请在(cnlyb.Fields.Item("ly_contnet").Value)前后各加一个括号,然后将函数DoWhiteSpace添加到代码前,结果: DoWhiteSpace((cnlyb.Fields.Item("ly_contnet").Value))这样代码就添加好了。

 

3.空格显示
  经过上面解决换行问题后,应该对于解决空格有了更大的信心,不过在这里还是要简单介绍一下,在ASP程序制作时,提交留言过程中当空格超过一个时,在显示时,只显示出一个空格,而无法将更多的空格显示出来,实际原因也是和上面一样,当将空格提交后在VBScript中产生空格,而在HTML代码中只认识“&nbsp”,那么也只能进行置换操作,将VBScript产生的空格符“”(空),转换成HTML代码中空格符“&nbsp”,那么在显示的时候,产生的空格就能正确显示出来,也就是提交时有几个空格,在显示时就会显示几个空格。
  解决问题的方法更简单,在上面(换行符格式化)的函数空行处加上:
DoWhiteSpace=replace(DoWhiteSpace," ","&nbsp")
 
结果:
<%
function DoWhiteSpace(str)
DoWhiteSpace=replace((str),vbCrLf,"<br>")
DoWhiteSpace=replace(DoWhiteSpace," ","&nbsp;&nbsp;")
end function
%> 


记录集体降序排列
双击打开  服务器下 的“记录集” 的对话框
在高级对话框中修改成
SELECT *
FROM guestbook
ORDER BY ID desc
(SELECT * FROM guestbook是原本就有的    guestbook为记录集名)
ORDER BY ID desc  是加上去的

 

ASP如何获取真实IP地址(摘)2006-08-28 19:48  在 ASP 中使用 Request.ServerVariables("REMOTE_ADDR") 来取得客户端的 IP 地址,但如果客户端是使用代理服务
器来访问,那取到的就是代理服务器的 IP 地址,而不是真正的客户端 IP 地址。要想透过代理服务器取得客户端的真实
IP 地址,就要使用 Request.ServerVariables("HTTP_X_FORWARDED_FOR") 来读取。
  不过要注意的事,并不是每个代理服务器都能用 Request.ServerVariables("HTTP_X_FORWARDED_FOR") 来读取客户端
的真实 IP,有些用此方法读取到的仍然是代理服务器的 IP。
  还有一点需要注意的是:如果客户端没有通过代理服务器来访问,那么用 Request.ServerVariables
("HTTP_X_FORWARDED_FOR") 取到的值将是空的。因此,如果要在程序中使用此方法,可以这样处理:

......
userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If userip = "" Then userip = Request.ServerVariables("REMOTE_ADDR")
......

  即:如果客户端通过代理服务器,则取 HTTP_X_FORWARDED_FOR 的值,如果没通过代理服务器,就取 REMOTE_ADDR 的值。

o℃啲永恒ツ 发表于 2007-5-23 16:45:00 阅读全文 | 回复(0) | 引用通告 | 编辑





发表评论:

    大名:
    密码: (游客无须输入密码)
    主页:
    标题:



:: 最近发表::

:: 最近回复 ::

:: 访客留言::

:: 注册信息::
:: 文章搜索::
:: 博客信息::

:: 友情链接::




Powered by Oblog.