asp开发中textarea常见问题
网络整理 - 08-10
近日在作新闻的后台管理系统,在将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 &"<"
Case ">" : coder = coder &">"
Case "&" : coder = coder &"&"
Case chr(9) : coder = coder &" "
Case VBCrLf : coder = coder &"<br>"
Case chr(32) : coder = coder &" "
Case chr(34) : coder = coder &"""
Case chr(39) : coder = coder &"'"
Case Else : coder = coder & mid(str,i,1)
End Select
Next
End Function
content=request("content")''正文
content=replace(content," "," ") ''此处处理是因为修改页面所加入空格会被转化为 ,在此先过滤
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) ''经过此处处理,可显示出正确的段落格式
%>
上面使我遇到的一些问题,希望你遇到时注意一下也许能为你剩不少麻烦.