5、只在必要时使用服务器端控件
asp.net中新引入了一种在服务器端运行的被称作web server controls的控件,在代码中,它们经常通过下面的语法被说明:
<asp:textbox id="txtlastname" size="40" runat="server" />
它们有时也被称作asp控件。服务器端控件是由runat属性指示的,它的值总是“server”。
通过添加runat属性,一般的html控件可以被很方便地转换到服务器端运行,下面是一个简单的例子:
<input type="text" id="txtlastname" size="40" runat="server" />
可以通过id属性中指定的名字,我们可以引用程序中的控件,可以通过编程的方式设置属性和获得值,因此,服务器端处理方式有较大的灵活性。
这种灵活性是有一定代价的。每种服务器端控件都会消耗服务器上的资源。另外,除非控件、网页或应用程序明确地禁止view state,控件的状态是包含在view state的隐藏域中,并在每次回送中都会被传递,这会引起严重的性能下降。
在这方面的一个很好的例子是,网页上控件表格的应用,如果不需要在代码中引用表格中的元素,则使用无需进行服务器端处理的html表格。我们仍然可以在html表格单元中放置服务器控件,并在代码中引用服务器控件。如果需要引用任意的表格元素,例如指定的单元,则整个表格必须是服务器控件。
6. hyperlink控件、linkbutton控件的差别
对于web访问者而言,hyperlink、linkbutton控件是一样的,但它们在功能方面仍然有较大的差异。
当用户点击控件时,hyperlink控件会立即将用户“导航”到目标url,表件不会回送到服务器上。 linkbutton控件则首先将表件发回到服务器,然后将用户导航到目标url。如果在“到达”目标url之前需要进行服务器端处理,则使用linkbutton控件;如果无需进行服务器端处理,则可以使用hyperlink控件。
7、注释代码
这一技巧并不是针对asp.net的,但它是一个良好的编程习惯。
注释不仅仅应当说明代码会执行什么操作,还应当注明原因。例如,不要仅仅在注释中说明是在遍历数组,而是要说明遍历数组是根据某一算法计算一个值,除非算法是相当简单的,否则还应当对算法进行简要的说明。
.net工程中的不同的编程语言都有各自不同的注释符号,下面是一个简要的说明:
html <!-- 注释 -->
javascript // 注释
vbscript ' 注释
vb.net ' 注释
c# // 注释
/* 多行内容
的注释
*/
sql -- 注释
在服务器控件的开始和结束标记中没有注释符号,但服务器能够忽略掉所有它不能识别的属性,因此我们能够通过使用没有定义的属性来插入注释。下面是一个例子:
<asp:textbox id="txtlastname" size="40" comment="这是我的注释" runat="server" />
在visual studio .net中对源代码进行注释非常简单。高亮度显示需要注释的行,然后按ctrl+k+c组合键添加注释。要删除注释,只需高亮度显示被注释的代码,并按下ctrl+k+u组合键。
在c#工程中,我们还可以通过在每行的开始处使用///输入xml注释小节。在注释小节中,我们可以使用下面的xml标记组织注释:
<summary></summary>
<remarks></remarks >
<param></param>
<returns></returns>
<newpara></newpara>
要在visual studio .net中查看这些xml注释的格式化的报告,我们可以首先选择“工具”菜单项,然后选择“建立注释web网页”菜单项。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器