ASP.NET中用户输入文本的HTML解析办法
网页中用TextBox让用户输入文本,然后存入数据库,再从数据库中读出显示在页面上。常常这样做会遇到不少问题,因为TextBox实际上是一个Windows组件,和网页显示标记如:<p>,<td>,<div>等,对字符的解析方法是不同的。比如前者的换行标记为“\r\n”,而后者为“<br>”。这就带来一个转换的问题。
在做转换之前,先来考虑几个问题:
1、 TextBox用“\r\n”来标记换行而网页中以“<br>”标记
2、 网页中连续的空格当做一个空格处理,比如“a b c”将会显示“a b c”
3、 用户输入特殊字符比如:“<”,“&”,“ ”,“<”,这些都是网页中有特殊意义的字符,会被解析,而用户输入的目的当然是不希望被解析。
现在来解决这几个问题,有一种解决办法是在显示的时候仍然用TextBox去显示,这样就不用做任何转换,只要把TextBox.ReadOnly设为true,这样在一定程度上能满足要求。但是往往为了网页的美观,这样做是不可取的。比较好的办法是去解析用户输入的字符串,可以做这样的转换:
第一步:
“<” à“<”
“&” à“&”
“ ”à“&nbsp;”
……(此处的省略号后文有说明)
第二步:
“ ” à“ ”
“\r\n” à“<br>”
这里必须分两步转换,因为如果你先做第二步转换的话混把用户输入的特殊字符串和由转换而的的特殊字符串混淆,比如:
用户输入:a b c d
第二步转换:a b c d
第一步转换:a&nbsp;b&nbsp;&nbsp;&nbsp;c&nbsp;d
可以看到,经过第一次转换后已经无法分辨用户输入的“ ”和转换而来的“ ”,在做第二次转换的时候就会统一处理就会出错。结果显示:a b c d
如果严格按照第一步,第二步的转换
相关文档:
.ascx web用户控件
.asmx web服务
.asax 全局应用程序类
.sitemap 网站地图
.htm HTML页
.xml XML页
.master 母版页
.config web配置文件
.skin 外观文件
.css 样式表文件 ......
没有想到真的这么方便!更加坚定我学习ASP.NET的决心! 现在我们一起来看看吧
1,请确定你的电脑安装了以下的软件!
1.1, WINDWOS 2000以上版本(必装)
1.2, .NET Framework(必装)
1.3, Visual Studio .NET 2005(必装)
2,建立一个ACCESS数据库,
3,拖动VS2005 的GRIDVIEW 到 ......
概念:其实思路非常简单,就像画画一样,你脑中的饼图想啥样子的,就把它在网页里画出来而已。相信大家小时候都画过画,不同的是,小时候,在纸上画,现在在网页上画。
这是我脑子里饼图的样子:<激光传真机>
C#后台示例代码:<激光一体机>
using System;
using System.Data;
using System.Configur ......
Process p = new Process();
p.StartInfo.FileName = "cmd.exe"; //設定程序名
p.StartInfo.Arguments = "/c " command; //設定程式執行參數
p.StartInfo.UseShellExecute = false; //關閉Shell的使用
p.StartInfo.RedirectStandardInput = true; //重定向標準 ......
自从上次有了一次破解验证码的经验后,就一直想自己写个像样点的验证码。今天无聊所以就写了,总体上来说还算很满意。就是有时复杂得肉眼都看不出是啥(这也跟图片太小有关系)。
这个验证码支持随机字体、字体大小、字体样式(普通、粗体、斜体)、字体颜色、自定义字符等。
代码中的libFont是字体库,libC ......