asp开发中textarea常见问题

类别:Asp 点击:0 评论:0 推荐:

近日在作新闻的后台管理系统,在将access数据导入到SQL SERVER2000中,便出现了好多问题,现总结如下:

使用SQL SERVER的[导入]功能,便可将access数据转换,但要注意原来的'自增字段'需要修改,将相应字段标识修改为'是'(原来的备注字段也会自动转化为ntext).

由于新闻的添加,修改都是通过使用textarea,首先为了能保留输入内容的格式,在处理添加的页面加入

<%
Function SqlStr( data )
   SqlStr = "'" & Replace( data, "'", "''" ) & "'"
End Function
Function  coder(str) 
   Dim  i 
   If  IsNull(str)  Then  :  coder=""  :  Exit  Function  :  End  If 
   For  i  =  1  to  Len(str) 
       Select  case  mid(str,i,1) 
           Case  "<"          :  coder  =  coder  &"&lt;" 
           Case  ">"          :  coder  =  coder  &"&gt;" 
           Case  "&"          :  coder  =  coder  &"&amp;"  
           Case  chr(9)    :  coder  =  coder  &"&nbsp;&nbsp;" 
           Case  VBCrLf    :  coder  =  coder  &"<br>" 
           Case  chr(32)  :  coder  =  coder  &"&nbsp;" 
           Case  chr(34)  :  coder  =  coder  &"&quot;" 
           Case  chr(39)  :  coder  =  coder  &"&#39;" 
           Case  Else        :  coder  =  coder  &  mid(str,i,1) 
       End  Select 
   Next 
End  Function

 

content=request("content")'正文
content=replace(content,"&nbsp;"," ")   '此处处理是因为修改页面所加入空格会被转化为&nbsp; ,在此先过滤
content=coder(content)

 

%>

在修改页面

<%

rs.Open sql, conn, adOpenStatic
content=rs("正文") '此处一定要写,倘若直接在textarea处写

                               '<textarea rows="7" name="t" cols="47" ><%=rs("正文") %></textarea >“则无法显示(我就被此处

                               '困了好久,还以为长字段不能使用ntext而只能使用text或varchar呢)

%>

在显示页面

<%

rs.Open sql, conn, adOpenStatic
content=rs("content")   '一定先放到变量中,否则可能无法显示
content=replace(content,vbcrlf,"<br>"+vbcrlf)   '经过此处处理,可显示出正确的段落格式

%>

上面使我遇到的一些问题,希望你遇到时注意一下也许能为你剩不少麻烦.

本文地址:http://com.8s8s.com/it/it7807.htm