asp.net里的HTML标签

来源:百度知道 编辑:UC知道 时间:2024/06/25 08:59:00
想在.net中提交html的代码,并且显示出来
提交什么显示什么例如:
提交<div>sdfjskldjflkdsf</div>就显示<div>sdfjskldjflkdsf</div>
就好像一些论坛,可以把代码复制上去,给人浏览。
怎样实现这种效果,最好把你的代码复制上来(有实例源码就最好)或留下你的联系方式。
不要同我讲:在头部加validateRequest="false",加了安全性就降低了,而且都不是我想要的结果
protected void Button2_Click(object sender, EventArgs e)
{
String TestString = this.TextBox1.Text;
String EncodedString = Server.HtmlEncode(TestString);
this.Label2.Text = EncodedString;
}
为什么这样做不行呢~~在textbox1上写<div> 就出问题

而这样写就行呢
String TestString = "This is a <Test String>.";
String EncodedString = Server.HtmlEncode(TestString);
this.Label2.Text = EncodedString;
不出问题

1.所谓加上 validateRequest="false" 安全性就降低完全是你的谬解。这不代表安全性降低,而是.net框架能为你做的事情少了而已,真正的安全性控制在于你。何况,不加这句,.net框架根本不会允许你的代码执行,所以你不可能能执行成功,更不用说你的程序能正常执行了。具体的原因,请自己去了解ASP.net的执行流程。
2.要正常输出,只要一个HtmlEncode就可以。至于安全性的原因,微软只是从一个基础性的方面给你拦截,如果你确实要用到,那么它只会阻止你,不能给你任何帮助,更何况,你的程序的安全性根本不应该依靠它。

----
在textbox里写<div>会出错是因为.net的验证,你关掉就可以了。

其实是把提交的内容进行一步代码转换把<换成<把>换成>把&换成&

这个可以用JS角本实现,