易截截图软件、单文件、免安装、纯绿色、仅160KB

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、 用户输入特殊字符比如:“<”,“&”,“&nbsp;”,“&lt;”,这些都是网页中有特殊意义的字符,会被解析,而用户输入的目的当然是不希望被解析。
现在来解决这几个问题,有一种解决办法是在显示的时候仍然用TextBox去显示,这样就不用做任何转换,只要把TextBox.ReadOnly设为true,这样在一定程度上能满足要求。但是往往为了网页的美观,这样做是不可取的。比较好的办法是去解析用户输入的字符串,可以做这样的转换:
第一步:
“<”      à“&lt;”
“&”      à“&amp;”
“&nbsp;”à“&amp;nbsp;”
……(此处的省略号后文有说明)
第二步:
“ ”      à“&nbsp;”
“\r\n”  à“<br>”
这里必须分两步转换,因为如果你先做第二步转换的话混把用户输入的特殊字符串和由转换而的的特殊字符串混淆,比如:
用户输入:a b   c&nbsp;d
第二步转换:a&nbsp;b&nbsp;&nbsp;&nbsp;c&nbsp;d
第一步转换:a&amp;nbsp;b&amp;nbsp;&amp;nbsp;&amp;nbsp;c&amp;nbsp;d
可以看到,经过第一次转换后已经无法分辨用户输入的“&nbsp;”和转换而来的“&nbsp;”,在做第二次转换的时候就会统一处理就会出错。结果显示:a&nbsp;b&nbsp;&nbsp;&nbsp;c&nbsp;d
如果严格按照第一步,第二步的转换


相关文档:

ASP.NET文件扩展名

.ascx  web用户控件
 .asmx  web服务
 .asax  全局应用程序类
 .sitemap  网站地图
 .htm  HTML页
 .xml  XML页
 .master  母版页
 .config  web配置文件
 .skin  外观文件
 .css  样式表文件 ......

手把手教你做ASP.NET留言本


没有想到真的这么方便!更加坚定我学习ASP.NET的决心! 现在我们一起来看看吧
1,请确定你的电脑安装了以下的软件!
1.1,    WINDWOS 2000以上版本(必装)
1.2,    .NET Framework(必装)
1.3,    Visual Studio .NET 2005(必装)
2,建立一个ACCESS数据库,
3,拖动VS2005 的GRIDVIEW 到 ......

ASP.NET实现从服务器下载文件(记录)


假设在服务器的根目录下有个名为Download的文件夹,这个文件夹存放一些提供给引用程序下载的文件..
    public void DownloadFile(string path, string name)
    {
        try
        {
    ......

ASP.NET缓存

原文地址:http://www.codeproject.com/KB/aspnet/AspDotNetCache.aspx
介绍
缓存是在内存存储数据的一项技术,也是ASP.NET中提供的重要特性之一。例如你可以在复杂查询的时候缓存数据,这样后来的请求就不需要从数据库中取数据,而是直接从缓存中获取。通过使用缓存可以提高应用程序的性能。
主要有两种类型的缓存:
1 ......

ASP.Net 验证码

  自从上次有了一次破解验证码的经验后,就一直想自己写个像样点的验证码。今天无聊所以就写了,总体上来说还算很满意。就是有时复杂得肉眼都看不出是啥(这也跟图片太小有关系)。
  这个验证码支持随机字体、字体大小、字体样式(普通、粗体、斜体)、字体颜色、自定义字符等。
  代码中的libFont是字体库,libC ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号