ASP.NET第三方控件文本编辑器出现的问题,高手请赐教!

复制一段文字放到文本编辑器内容中,写入数据时会报错,当删除这段文字中的引号(美)时就不会报错。在手动输入的情况下不会报错,这个是什么问题?高手请赐教!谢谢了。我想说的是谁... 复制一段文字放到文本编辑器内容中,写入数据时会报错,当删除这段文字中的引号(美)时就不会报错。
在手动输入的情况下不会报错,这个是什么问题?高手请赐教!谢谢了。
我想说的是 谁能解释下 为什么手动输入小引号不报错 复制的却要报错呢。
展开
 我来答
kid83
2009-09-03 · TA获得超过2081个赞
知道大有可为答主
回答量:1818
采纳率:0%
帮助的人:1996万
展开全部
说明的sql语句是有字符串拼接的.
比如string strSQL = "INSERT INTO TableName([Title]) VALUES ('" + TextBox1.Text + "')"
是吧?如果这个时候文本编辑器里包含小引号, 那么strSQL 的内容就不是
INSERT INTO TableName([Title]) VALUES ('标题')
这样了,而是INSERT INTO TableName([Title]) VALUES ('标'题')
这样执行SQL语句的时候就会报错.所以,在不影响使用的情况下,
string strTitle = TextBox1.Text.Replace("'", String.Empty);
或者string strTitle = TextBox1.Text.Replace("'", "\"")
转换成大引号.这也是防止SQL注入的一个方法.

//补充
1.还有就是()符号,以及特殊符号char,已经sql的标示符都不行的.
2.还有种可能就是编辑器自己添加了很多的代码, 造成字符过多, 而数据库字段长度不够.
3.我建议你把你的程序代码贴出来,然后可以帮你改一下,不用拼接字符的方式.

原来我用FreeTextBox也有这个问题,就是因为编辑器自动生成的html代码里面有小引号
hnt8
2009-09-02 · TA获得超过107个赞
知道小有建树答主
回答量:700
采纳率:0%
帮助的人:329万
展开全部
这个只有编写该控件的人才知道了。
==================================
又没有源码,靠猜吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
caoshanpu
2009-09-02 · TA获得超过185个赞
知道小有建树答主
回答量:342
采纳率:0%
帮助的人:0
展开全部
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="cs_Default" %>

在页面头上<%@ Page %>里面有个属性设置成false就可以了 具体是哪个忘记了 是视图状态还是会话什么的...

或者 你在后台获取到数据后 替换引号为\" 转义一下...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
marser_clark
2009-09-02 · TA获得超过257个赞
知道小有建树答主
回答量:314
采纳率:0%
帮助的人:139万
展开全部
在aspx页面的 <%@ Page ..... %>这个的里面加上下面这句话就OK了.
ValidateRequest="false"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
isleecn
2009-09-03 · 超过14用户采纳过TA的回答
知道答主
回答量:48
采纳率:0%
帮助的人:49.6万
展开全部
很可能没有过滤'号,你只需要把编辑器返回的字符串替换一下Replace(str, "'", "''")在保存如数据库即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
haoluogaga
2009-09-04 · TA获得超过2378个赞
知道小有建树答主
回答量:1265
采纳率:0%
帮助的人:1020万
展开全部
没见过,可能是字体不一样。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式