仓酷云

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

[学习教程] ASP网站制作之ASP.NET使用法式设计的10大技能(一)

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

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

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

x
ASP由于使用了COM组件所以它会变的十分强大,但是这样的强大由于Windows NT系统最初的设计问题而会引发大量的安全问题。只要在这样的组件或是操作中一不注意,哪么外部攻击就可以取得相当高的权限而导致网站瘫痪或者数据丢失;     在本篇文章中,咱们将会商编程人员在利用ASP.NET开辟使用法式时需求注重的10个技能,这些技能触及从缺省的控件、表单名的改动到StringBuilder类的利用,有助于编程人员可以尽快地顺应.NET情况。   1、在利用Visual Studio .NET时,除直接或非援用的对象外,不要利用缺省的名字
  .NET带来的优点之一是一切的源代码和设置装备摆设文件都是纯文本文件,可以利用Notepad或WordPad等恣意的文本编纂器停止编纂。假如不肯意,咱们并不是必定要利用Visual Studio .NET作为集成开辟情况。但利用了Visual Studio .NET,咱们可以在Windows文件办理器中看到文件,或在Visual Studio .NET以外从文本编纂器中阅读文件的内容。
  利用Visual Studio .NET作为集成开辟情况有很多优点,个中最明显的优点是它极大地进步了临盆效力。利用Visual Studio. NET,咱们可以在支付较小价值的情形下更快地开辟软件。作为集成开辟情况一局部的IntelliSense供应主动的代码完成、在输出办法或函数时供应静态匡助、语法毛病的及时提醒,和其他可以进步临盆效力的功效。
  象其他庞杂的东西那样,在学会若何充实发扬它的感化和把握其“习惯”前,Visual Studio .NET也会使咱们发生一种波折感。有时,它象一个难以懂得的黑盒子,会生成大批的文件和很多无用的代码。
  Visual Studio .NET的一个功效是,不管是类、控件或表单中的对象,它都可以为新对象供应缺省名字。例如,假如咱们创立了一个新的ASP.NET Web Application,其缺省的名字将是WebApplication1。咱们可以在“新工程”对话框中便利地改动该使用的名字,但同时改动的只是该使用法式的名字空间的名字及其地点的虚拟目次,源代码文件的缺省名字依然是WebForm1.aspx和WebForm1.aspx.cs(C#工程)或WebForm1.aspx.vb(VB.NET工程)。
  咱们可以在计划阅读器中改动ASPX和代码利用的文件名字,但Web页类的名字依然将是WebForm1。假如在该Web表单上生成一个按钮,其缺省的名字将是Button1。现实上,一切控件的名字都是由控件的类型和数字构成的。
  咱们可以,也应当将使用法式中一切的表单和控件的名字都修正成成心义的名字。关于较小的演示性法式而言,缺省的名字还可以胜任,但假如使用法式由多个表单,每一个表单上有很多按钮和标签时,象frmStartup、frmDataEntry和frmReports如许的表单名就比Form1、Form2和Form3如许的名字更容易于了解和保护。
  假如表单上控件要在代码的其他中央援用,使它有一个成心义的名字就更主要了。btnOK、btnCancel和btnPrint如许的名字使看代码的人更轻易了解,因此,也比名字为Button1、Button2、Button3如许的控件更轻易保护。
  修正一个工程中一切文件中呈现的一个名字的一个好办法是,在Visual Studio .NET菜单中顺次选择“编纂”->“发明和交换”->“交换”号令。
  在看二周前编写的代码时,咱们常常就象第一次见到这些代码一样,因而使它们有一个有助于咱们了解其寄义的名字是非常有需要的。
  2、即便不利用Visual Studio .NET停止编程,利用代码撑持文件也有益于进步使用法式的功能
  在Web使用法式、Web办事或Web控件等一切的ASP.NET Web工程中,Visual Studio .NET都利用代码撑持文件。代码撑持文件使工程具有更好的组织、模块性,更合适多人构成的开辟团队。别的,它还会带来功能的进步。
  代码撑持文件的内容被编译成一个组合文件中的类,通常为一个DLL文件,有时也能够是EXE文件。该文件驻留在使用法式的组合体高速缓冲区中,在使用法式启动时,可以当即失掉它。
  假如代码是包括在<script>标志中或ASPX文件代码中,它依然会被编译成一个Web页类。在这类情形下,每当该网页在使用法式对话中第一次加载时,都需求从头停止编译,被编译的类就会驻留在内存中。每当盘算机启动、IIS中断、从头启动或源代码、设置装备摆设文件改动时,该文件必需从头编译。虽然不大,但如许引发的功能消耗也是相当可不雅的。
  3、尽可能削减表单回送
  每当点击Web网页上的Button、LinkButton或ImageButton控件时,表单就会被发送到办事器上。假如控件的AutoPostBack属性被设置为true,假如CheckBox、CheckBoxList等控件的形态被改动后,也会使表单会发送回办事器。
  每次当表单被发送回办事器,就会被从头加载,启动Page_Load事务,履行Page_Load事务处置法式中的一切代码。把网页的初始化代码放在这里是最适合不外的了。咱们常常会但愿在每次加载网页时履行一些代码,而但愿只要在网页第一次加载时履行另外一些代码,乃至但愿一些代码在除初次加载外的每次加载时履行。
  可以使用IsPostBack特征来完成这一功效。在网页第一次加载时,该属性的值是false。假如网页因回送而被从头加载,IsPostBack属性的值就会被设置为true。经由过程测试,可以在恣意时分履行指定的代码。上面是相干的C#代码:

protected void Page_Load(Object sender, EventArgs e)
{
// 网页每次加载时,履行的一些操作
if (!IsPostBack)
{
// 网页第一次加载时履行的操作
}
else
{
// 回送时履行的操作
}
// 网页每次加载时履行的操作
}

  咱们但愿尽可能不引发回送(每次回送城市请求办事器停止一系列的操作),即便引发回送后。也但愿可以履行尽可能少的操作。大范围、华侈工夫的操作(例如数据库查找)特别应该防止,由于它们可以延伸使用法式的呼应工夫。
  4、利用StringBuilder类
  字符串在.NET框架中是不成变的,这意味着改动字符串的操作符和办法会前往字符串的改动后的拷贝,这意味着功能还有进步的空间。当停止大批的字符串操作时,利用StringBuilder类就是一种对照好的选择了。
  上面的C#代码测试用二种体例从10000个子字符串中生成字符串所需求的工夫。第一次利用了一个复杂的字符串串连操作;第二次利用了StringBuilder类。要想检查了局字符串,可以去失落上面的代码中注解行的注解符号:
<%@ Page Language="C#" %>
<script runat="server">
void Page_Load(Object Source, EventArgs E)
{
int intLimit = 10000;
DateTime startTime;
DateTime endTime;
TimeSpan elapsedTime;
string strSub;
string strWhole = "";
// 起首履行字符串联接操作
startTime = DateTime.Now;
for (int i=0; i < intLimit; i++)
{
strSub = i.ToString();
strWhole = strWhole + " " + strSub;
}
endTime = DateTime.Now;
elapsedTime = endTime - startTime;
lblConcat.Text = elapsedTime.ToString();
// lblConcatString.Text = strWhole;
// 利用stringBuilder类停止一样的操作
startTime = DateTime.Now;
StringBuilder sb = new StringBuilder();
for (int i=0; i < intLimit; i++)
{
strSub = i.ToString();
sb.Append(" ");
sb.Append(strSub);
}
endTime = DateTime.Now;
elapsedTime = endTime - startTime;
lblBuild.Text = elapsedTime.ToString();
// lblBuildString.Text = sb.ToString();
}
</script>
<html>
<body>
<form runat="server">
<h1>String Concatenation Benchmark</h1>
Concatenation:
<asp:Label
id="lblConcat"
runat="server"/>
<br/>
<asp:Label
id="lblConcatString"
runat="server"/>
<br/>
<br/>
StringBuilder:
<asp:Label
id="lblBuild"
runat="server"/>
<br/>
<asp:Label
id="lblBuildString"
runat="server"/>
</form>
</body>
</html>  
  二种体例的不同是相当大的:利用StringBuilder类的Append办法的速度比利用字符串联接的速度快近200倍。


专业性的服务。有的ASP商提供垂直型的应用服务,针对某一特定行业提供应用服务。
兰色精灵 该用户已被删除
沙发
发表于 2015-2-16 00:45:01 | 只看该作者
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
不帅 该用户已被删除
板凳
发表于 2015-2-16 04:54:59 | 只看该作者
我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标.
山那边是海 该用户已被删除
地板
发表于 2015-2-26 06:34:15 | 只看该作者
在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。
若相依 该用户已被删除
5#
发表于 2015-3-1 19:32:49 | 只看该作者
跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组
飘灵儿 该用户已被删除
6#
 楼主| 发表于 2015-3-4 12:24:39 | 只看该作者
封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。
若天明 该用户已被删除
7#
发表于 2015-3-9 01:45:30 | 只看该作者
它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
灵魂腐蚀 该用户已被删除
8#
发表于 2015-3-16 19:51:20 | 只看该作者
学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:
分手快乐 该用户已被删除
9#
发表于 2015-3-18 12:03:37 | 只看该作者
不能只是将它停留在纸上谈兵的程度上。
老尸 该用户已被删除
10#
发表于 2015-3-19 23:33:50 | 只看该作者
在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。
爱飞 该用户已被删除
11#
发表于 2015-3-25 20:39:04 | 只看该作者
没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。
愤怒的大鸟 该用户已被删除
12#
发表于 2015-3-27 01:22:38 | 只看该作者
先学习用frontpage熟悉html编辑然后学习asp和vbscript建议买书进行系统学习
简单生活 该用户已被删除
13#
发表于 2015-3-30 13:11:53 | 只看该作者
完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。
第二个灵魂 该用户已被删除
14#
发表于 2015-4-11 02:11:07 | 只看该作者
Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)
15#
发表于 2015-4-11 05:11:30 | 只看该作者
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:
活着的死人 该用户已被删除
16#
发表于 2015-4-16 06:13:53 | 只看该作者
下面简单介绍一下我学习ASP的方法,希望对想学习ASP的朋友有所帮助...
小妖女 该用户已被删除
17#
发表于 2015-4-23 23:53:29 | 只看该作者
封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。
海妖 该用户已被删除
18#
发表于 2015-5-1 03:50:24 | 只看该作者
我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。
再现理想 该用户已被删除
19#
发表于 2015-6-8 20:22:58 | 只看该作者
我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。
柔情似水 该用户已被删除
20#
发表于 2015-6-23 13:24:45 | 只看该作者
没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-5-7 01:03

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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