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
相关文档:
连接access数据库代码,写在一个单独的类里
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.OleDb;
namespace AppWebDLL
{
public class ConnApp
{
  ......
在网上找的
http://support.microsoft.com/kb/894435/en-us
http://www.atalasoft.com/kb/article.aspx?id=10181
也许以后会用得着。
在web.config中加入以下配置:
C#
<system.codedom>
<compilers>
<compiler
language="c#;cs;csharp" extension=".cs"
compilerOptions="/platform ......
ASP.NET执行存储过程,并获取存储过程的返回值
一个简单例子如下:
1、创建存储过程(用于用户身份验证):
Create Procedure CheckUser
(
@userid char(20),
& ......
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 ......