我想将html标签插入数据库,结果总是报错,A potentially dangerous Request.Form value was detected from the client ,之后我在网上查了很多资料,说是要在页面指令上加上 ValidateRequest="false",我加了,可还是会报错,所以将代码贴出,让大家找出问题的所在
首先是.aspx的前台代码,我放了一个textarea文本框和两个按钮,现在textarea中输入内容,然后点击插入按钮插入数据库,然后再点击另外一个取出数据,显示在textarea中<%@ Page Language="C#" AutoEventWireup="true" Debug="true" CodeFile="Default.aspx.cs" ValidateRequest="false" Inherits="_Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<textarea id="neirong" rows="22" style=" height:100px; width:200px" runat="server"></textarea>
<asp:Button ID="button1" Text="插入" runat="server" onclick="button1_Click" />
<asp:Button ID="Button2" runat="server" Text="取出" onclick="Button2_Click" />
</div>
</form>
</body>
</html>
然后是后台的两个方法,第一个是插入方法
protected void button1_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection("server=.\\writer;database=HT;uid=sa;pwd=4411901");
conn.Open(); SqlCommand cmd = new SqlCommand("insert into tests values('" + neirong.InnerHtml + "')", conn); cmd.ExecuteNonQuery();
conn.Close();
}然后是取出方法 protected void Button2_Click(object sender, EventArgs e)
{
DataSet ds = new DataSet();
SqlConnection conn = new SqlConnection("server=.\\writer;database=HT;uid=sa;pwd=4411901");
SqlCommand cmd = new SqlCommand("select * from tests", conn); SqlDataAdapter da = new SqlDataAdapter(cmd); da.Fill(ds); neirong.Value = ds.Tables[0].Rows[11][0].ToString(); }请各位大侠拔刀相助,给我找出问题的根结所在,不胜感激。此外,我是想实现文章正文的格式,所以要将html标签插入数据库中,除了这个方法外,还有其他的好方法吗,求解!
首先是.aspx的前台代码,我放了一个textarea文本框和两个按钮,现在textarea中输入内容,然后点击插入按钮插入数据库,然后再点击另外一个取出数据,显示在textarea中<%@ Page Language="C#" AutoEventWireup="true" Debug="true" CodeFile="Default.aspx.cs" ValidateRequest="false" Inherits="_Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<textarea id="neirong" rows="22" style=" height:100px; width:200px" runat="server"></textarea>
<asp:Button ID="button1" Text="插入" runat="server" onclick="button1_Click" />
<asp:Button ID="Button2" runat="server" Text="取出" onclick="Button2_Click" />
</div>
</form>
</body>
</html>
然后是后台的两个方法,第一个是插入方法
protected void button1_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection("server=.\\writer;database=HT;uid=sa;pwd=4411901");
conn.Open(); SqlCommand cmd = new SqlCommand("insert into tests values('" + neirong.InnerHtml + "')", conn); cmd.ExecuteNonQuery();
conn.Close();
}然后是取出方法 protected void Button2_Click(object sender, EventArgs e)
{
DataSet ds = new DataSet();
SqlConnection conn = new SqlConnection("server=.\\writer;database=HT;uid=sa;pwd=4411901");
SqlCommand cmd = new SqlCommand("select * from tests", conn); SqlDataAdapter da = new SqlDataAdapter(cmd); da.Fill(ds); neirong.Value = ds.Tables[0].Rows[11][0].ToString(); }请各位大侠拔刀相助,给我找出问题的根结所在,不胜感激。此外,我是想实现文章正文的格式,所以要将html标签插入数据库中,除了这个方法外,还有其他的好方法吗,求解!
解决方案 »
- 极菜的问题一个
- 串口问题!!!
- 生成XML字符串问题
- 小弟想利用c#做一下Directx方面的东西,大家有没有c# directx方面的教程、网站、贴子。。。
- 请问如何用程序修改CONFIG文件
- Rosario,VS2009 还是VS2010?
- 请问如何在C#中调用批处理文件,并且要隐藏cmd窗口。
- 关于sqldatareader读取器的问题
- 我要做一个winform ,它要不停地(10秒一次)读取数据库以查看有没有新的纪录,请问:
- 急,如何让combobox控件不能编辑,只能进行选择!!请大虾指点!!
- UDP打洞 每次向新IP发包 NAT会从新映射端口问题
- C# 读取修改二进制bin文件,求教高手
SqlCommand cmd = new SqlCommand("insert into tests values('" + neirong.InnerHtml + "')", conn);sql语句错误的概率就很大了
插入数据库的时候你的sql拼接方式不好,因为neirong.InnerHtml就不能含有'了,试试SQL的Parameter类方法
带格式文本的存储我一般也是直接存html文本,同求更好的解决方案
我连web.config也修改过了,可还是报错,你所说的拼接方式不好,里面不能含有',能贴出具体的代码吗,应该怎么写,谢谢
public static string EncodeHtml(string strUserInput)
{
if (String.IsNullOrEmpty(strUserInput))
throw new ArgumentException("strUserInput is null or empty.", "strUserInput");
strUserInput = strUserInput.Replace("&", "&");
strUserInput = strUserInput.Replace("'", "''");
strUserInput = strUserInput.Replace("\"", """);
strUserInput = strUserInput.Replace(" ", " ");
strUserInput = strUserInput.Replace("<", "<");
strUserInput = strUserInput.Replace(">", ">");
strUserInput = strUserInput.Replace("\n", "<br>");
return strUserInput.Trim();
}
[color=#FF0000]要记着给我加分~\(≧▽≦)/~啦啦啦[/color]