仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 847|回复: 14
打印 上一主题 下一主题

[学习教程] ASP.NET网页设计一个页面题目和过滤输入的办理计划(上)仓酷云

[复制链接]
兰色精灵 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:15:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
竟发现没有太大的帮助。总觉得要用起来,感觉到不了位。因为公司机器的原因,一直没有安装vs.net(也从来没有用过)。以前做asp的时候一直用DW(感觉其代码联想功能不错),可现在到了asp.net却不习惯了。起首要提到一个工具:Response.Filter,它能够为你服务甚么?

filter可让你截取到最初的html输入,假如你的程序必要在输入之前,做一些处置,用这个对照便利。

第二个成绩,在那里,怎样利用Response.Filter

这里利用上全局的Global.asax处置,在Global.asax的Application_BeginRequest事务里截取html

事务代码庞大?实在就一行:

protectedvoidApplication_BeginRequest(objectsender,EventArgse)
{
HttpContext.Current.Response.Filter=newHttpResponseFilter(HttpContext.Current.Response.Filter,newReplaceTextList());
}

代码中的HttpResponseFilter类是甚么?

说功效:这类次要完成的功效是,代替默许的Filter,然后换成自界说的Filter,便利处置本人要处置的事变。

哪来的:因为Response.Filter是一个Stream类,以是新类HttpResponseFilter必要承继自Stream,然后复写Write办法,完成自界说办法便可。

复写代码示例:




publicoverridevoidWrite(byte[]buffer,intoffset,intcount)
{
//读出写的笔墨

byte[]data=newbyte[count];

Buffer.BlockCopy(buffer,offset,data,0,count);

stringinputText=Encoding.UTF8.GetString(data);

//入手下手交换
if(replaceTextList!=null&&replaceTextList.Count>0)
{
foreach(KeyValuePair<string,string>valuesinreplaceTextList)
{
inputText=Regex.Replace(inputText,values.Key,values.Value,RegexOptions.Singleline);
}
replaceTextList.Clear();
}
replaceTextList=null;

//将交换后的写进response
byte[]newdata=Encoding.UTF8.GetBytes(inputText);
filterStream.Write(newdata,0,newdata.Length);
}




代码解读:


分三步走:

1:读取原文本内容

2:然后交换修正成本人的内容

3:写归去输入

注重事项:要注重网站编码是UTF8仍是GB2312

重点是:我扩大了交换那一块,我用了一个Dictionary<string,string>

然后轮回交换,固然撑持正则,以是交换的原始笔墨和交换后的笔墨就对应上两个string上了

详细扩大使用见下篇文章。


扩大的小申明:
为了可扩大与便利年夜伙,我界说了一个笼统类,先完成了三个正则用于截取题目,申明,和关头字,详细使用仍是见下文。
我觉得这个学习方法很重要。初学者应该跟我一样有同样一个毛病。那就是急于求成。很想就自己做出个小小的系统来。可真要动手,却又茫然而不知所措。为什么会这样呢?因为我们没有耐心去学习基础知识。写根本看不到什么效果的测试代码。
分手快乐 该用户已被删除
沙发
发表于 2015-1-18 16:23:40 | 只看该作者
ASP.net1.1和2.0在程序上的语法也有很大不同,现在2.0属于新出来的,不知道半年后会不会有3.0(说笑一下)。Windows2003系统自动支持ASP和ASP.net环境,不用安装任何程序。Asp.net属于编译语言。ASP的最大不同(ASP属于解释语言)。
只想知道 该用户已被删除
板凳
发表于 2015-1-22 11:45:03 | 只看该作者
Servlet却在响应第一个请求的时候被载入,一旦Servlet被载入,便处于已执行状态。对于以后其他用户的请求,它并不打开进程,而是打开一个线程(Thread),将结果发送给客户。由于线程与线程之间可以通过生成自己的父线程(ParentThread)来实现资源共享,这样就减轻了服务器的负担,所以,JavaServlet可以用来做大规模的应用服务。
精灵巫婆 该用户已被删除
地板
发表于 2015-1-26 22:58:49 | 只看该作者
ASP.NET:ASP.net是Microsoft.net的一部分,作为战略产品,不仅仅是ActiveServerPage(ASP)的下一个版本;它还提供了一个统一的Web开发模型,其中包括开发人员生成企业级Web应用程序所需的各种服务。ASP.NET的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。
飘飘悠悠 该用户已被删除
5#
发表于 2015-2-4 21:17:21 | 只看该作者
我的意思是.net好用,从功能上来说比JAVA强还是很明显的。
简单生活 该用户已被删除
6#
发表于 2015-2-5 01:34:56 | 只看该作者
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
变相怪杰 该用户已被删除
7#
发表于 2015-2-6 17:04:39 | 只看该作者
比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变。
金色的骷髅 该用户已被删除
8#
发表于 2015-2-14 00:20:41 | 只看该作者
由于JSP/Servlet都是基于Java的,所以它们也有Java语言的最大优点——平台无关性,也就是所谓的“一次编写,随处运行(WORA–WriteOnce,RunAnywhere)”。除了这个优点,JSP/Servlet的效率以及安全性也是相当惊人的。
不帅 该用户已被删除
9#
发表于 2015-2-19 00:01:28 | 只看该作者
主流网站开发语言之JSP:JSP和Servlet要放在一起讲,是因为它们都是Sun公司的J2EE(Java2platformEnterpriseEdition)应用体系中的一部分。
柔情似水 该用户已被删除
10#
发表于 2015-2-20 00:45:31 | 只看该作者
由于CGI程序每响应一个客户就会打开一个新的进程,所以,当有多个用户同时进行CGI请求的时候,服务器就会打开多个进程,这样就加重了服务器的负担,使服务器的执行效率变得越来越低下。
活着的死人 该用户已被删除
11#
发表于 2015-3-4 11:22:36 | 只看该作者
CGI程序在运行的时候,首先是客户向服务器上的CGI程序发送一个请求,服务器接收到客户的请求后,就会打开一个新的Process(进程)来执行CGI程序,处理客户的请求。CGI程序最后将执行的结果(HTML页面代码)传回给客户。
愤怒的大鸟 该用户已被删除
12#
发表于 2015-3-4 21:04:41 | 只看该作者
我觉得什么语言,精通就好,你要做的就是比其他80%的人都厉害,你就能得到只有20%的人才能得到的高薪。
小魔女 该用户已被删除
13#
发表于 2015-3-8 02:38:58 | 只看该作者
提供基于组件、事件驱动的可编程网络表单,大大简化了编程。还可以用ASP.NET建立网络服务。
飘灵儿 该用户已被删除
14#
发表于 2015-3-15 20:14:59 | 只看该作者
逐步缩小出错代码段的范围,最终确定错误代码的位置。
乐观 该用户已被删除
15#
发表于 2015-3-22 03:34:08 | 只看该作者
能产生和执行动态、交互式、高效率的站占服务器的应用程序。运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 01:26

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表