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
相关文档:
声明:
只提供后台.cs文件代码
详细教程地址:http://download.csdn.net/source/2289546
1.需要 编写静态模板页 我使用的是 template.htm
2.在模板页中定义htmlyem标记,标记非固定内容,在后台代码中为标记赋值
3.后台代码如下:
using System;
using System.Data;
using System.Configuration;
using Syst ......
1.使用QueryString变量
QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中。如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法。但是对于传递数组或对象的话,就不能用这个方法了。下面是一个例子:
a.aspx的C#代码
private void Button1_Click(object sender, Sy ......
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 ......