如何把html代码保存到SQL数据库?

woaitiyu 2007-06-09 12:23:42
现在我在一个文本框中输入了html源文件,但是发现去保存不到数据库,
就是这句话,我想保存到数据库。结果发现保存后为空
string img="<img src='"+fileFolder+"\\"+filename+"' onload='javascript:if(this.width>300){this.style.width=300;}'/>";

请问如何才能将这个 img字符串保存到数据库中啊?谢谢!
...全文
2344 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
woaitiyu 2007-06-09
  • 打赏
  • 举报
回复
谢谢楼上的朋友,还有没有其余的方法啊?能给个demo吗?谢谢了!
荷梅月剑 2007-06-09
  • 打赏
  • 举报
回复
第一步:
.aspx的文件如果提交Html代码时页面会报错,因为默认的安全级别不是让你提交html代码的
在页面的最上面的 <%@ %>里加如下代码
ValidateRequest="false"

第二步:
如果你是想像CSDN这样输入<table></table> 就显示 <table></table> 而不是显示一个表格的话,那就把危险字符替换掉,我这里有一个方法是我自己写的,写的不好请大家不要笑我

public static string CheckTextDanger(string checkText)

{
string newText = checkText.Trim(); //去掉头尾空格
newText = newText.Replace("\n", "<br>");
//textBox里的换行是用\n来表示的,如果要在HTML里显示换行要用<br>
newText = newText.Replace("<", "<"); //置换 <
newText = newText.Replace(">", ">"); //置换 >
newText = newText.Replace("'", "''");
//如果是用存储过程存储数据,这行不用加,如果你用的是SQL语句来存数据,这行要加上,功能为置换 ‘
return newText;
}




如果你从数据库返回的值要用到TextBox
那还得有个回调的方法,因为TextBox会把Html代码原封不动的列出来
public static string CheckTextOut(string checkText)

{
string newText = checkText.Trim(); //去掉头尾空格
newText = newText.Replace("<br>", "\n");
newText = newText.Replace("<", "<");
newText = newText.Replace(">", ">");
return newText;
}



大狼尾巴 2007-06-09
  • 打赏
  • 举报
回复
没有尝试过直接保存,不知道 SQL Server是不是会对字符有特殊对待,俺在保存 HTML代码时对 ', ", <, >以及空格等特殊字符都做了替换再保存的,需要的时候取出来再替换回来。
荷梅月剑 2007-06-09
  • 打赏
  • 举报
回复
喔,原来是这样,我会错意了,你不要用我的那两个方法,那个方法是用在论坛或是像CSDN这样显示完整的HTML代码用的
比如我现在输入
<font color="red">红字</font>

字没有变红吧,呵呵
woaitiyu 2007-06-09
  • 打赏
  • 举报
回复
只是显示的路径,我想要完整显示图片,应该如何做?
woaitiyu 2007-06-09
  • 打赏
  • 举报
回复
谢谢Drunkard_Faron(),用你的方法可以保存到数据库可以,但是那个图片显示的是正确,但是不是图片,不知是什么原因?
荷梅月剑 2007-06-09
  • 打赏
  • 举报
回复
保存不到数据库出现什么提示错误????
woaitiyu 2007-06-09
  • 打赏
  • 举报
回复
非常感谢Drunkard_Faron() ,但是用你的方法试了,发现仍然保存不到数据库!
荷梅月剑 2007-06-09
  • 打赏
  • 举报
回复
我的两个方法是复制到 .cs文件里的,不要复制错了
荷梅月剑 2007-06-09
  • 打赏
  • 举报
回复
还用demo吗 你把你要提交的页前面的 <%@ %> 里加上 ValidateRequest="false"

然后把我的两个方法复制进去

假设你要把这个页面的 ID名为 txtName的TextBox的值传入数据库

在传入的时候传入 CheckTextDanger(txtName.Text)
利用CheckTextDanger把危险字符替换掉,然后你去数据库看一下就明白怎么回事了

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧