ASP.NET开发经验积累
在开发过程中,通过摸索查资料,收集了一些值得提出来的经验:
1、 相对于原来的for语句foreach具有更好的执行效率,foreach的平均花费时间只有for的30%。通过测试结果在for和foreach都可以使用的情况下,我们推荐使用效率更高的foreach。另外,用for写入数据时间大约是读取数据时间的10倍左右;
2、 在asp.net程序中,使用sa账号的是一种非常不安全的做法,它具有在数据库上执行任何操作的权限。黑客可以调用类似于xp_cmdshell这样的扩展存储过程进行攻击;
3、 在处理数据交互的时候,尽量将组织SQL语句的处理放到中间层(比如专门的数据操作类、存储过程等),这是防止注入式攻击的有效方法;
4、避免到服务器的不必要的往返过程。使用 Page.IsPostBack 避免对往返过程执行不必要的处理;
5、 一定要禁用调试模式;
6、 一般情况下,读取大量数据,对返回数据不做大量处理用SqlDataReader.对返回数据大量处理用DatSet比较合适.对SqlDataReader和DataSet的选择取决于程序功能的实现;
7、数据绑定建议使用<%# ctype(Container.DataItem,DataRowView).Row("字段名") %>。数据量大的时候可提高几百倍的速度;
1、用SqlDataSource访问数据库库的方法:
<asp:SqlDataSource ID="SqlDS_Search" runat="server" ConnectionString="<%$
ConnectionStrings:chtNorthwind %>"
SelectCommand="SELECT [员工号码], [姓名], [性别], [部门], [照
片] from [章立民研究室] WHERE ([部门] = @部门) ORDER BY [员工号码]" />
往sql里面传参数的方法:
SqlDS_Search.SelectParameters.Clear();//先清空,好习惯
SqlDS_Search.SelectParameters.Add("部门",部门参数的值);
2、Gridview 中显示某个字段的方法<%# Eval("员工号码") %>
Gridview中可以调用后台定义的函数。
例如:<%# FormatGender(Eval("性别")) %>
后台定义的方法:
// 将性别改用图标来显示。
protected string FormatGender(object dataGender)
{
string myGender = Convert.ToString(dataGender);
string strReturn = "";
switch (myGende
相关文档:
Cookie 提供了一种在 Web 应用程序中存储用户特定信息的方法。例如,当用户访问您的站点时,您可以使用 Cookie 存储用户首选项或其他信息。当该用户再次访问您的网站时,应用程序便可以检索以前存储的信息。
什么是 Cookie?
Cookie 是一小段文本信息,伴随着用户请求和页面在 Web 服务器和浏览器之间传递。Cookie 包含每 ......
1.使用QueryString变量
QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中。如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法。但是对于传递数组或对象的话,就不能用这个方法了。下面是一个例子:
a.aspx的C#代码
private void Button1_Click(object sender, Sy ......
ASP.NET中进行消息处理(MSMQ) 二
在我上一篇文章《ASP.NET中进行消息处理(MSMQ)一》里对MSMQ做了个通俗的介绍,最后以发送普通文本消息和复杂的对象消息为例介绍了消息队列的使用。 本文在此基础上继续介绍MSMQ的相关知识点,最后还是通过一个示例程序来分析MSMQ在实际项目开发中的应 ......
fileupload控件的用法
ASPX页面
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" t ......