热门:网页模板.net视频教程JQueryMVCjsonExtJs源码示例三级联动JQuery菜单
您现在的位置:.Net中文社区>> .Net编程>>正文内容

团队开发一个ASP.NET网站需要注意的规范和细节

发布时间:2009年10月12日点击数: xiaoxiaoniao

1.1  目录结构规范

q  目录建立的原则:以最少的层次提供最清晰简便的访问结构。

q  目录的命名以小写英文字母,下划线组成。(参照命名规范)

q  根目录一般只存放Default.aspx或者Index.html以及其他必须的系统文件。

q  每个主要栏目开设一个相应的独立目录。

q  根目录下的images用于存放各页面都要使用的公用图片,子目录下的images目录存放本栏目页面使用的私有图片。

q  所有JS脚本存放在根目录下的scripts目录。

q  所有CSS文件存放在根目录下style目录。

q  所有flash, avi, ram, quicktime等多媒体文件存放在根目录下的media目录。

 

 

1.6.1 控件规范
控件使用原则:尽可能使用Html控件,需要提交而又不用在客户端使用Javasrcipt的可以使用Web控件。
页面上所有显示的文字都必须使用Label控件。
对于许多值,都要思考,是否需要对其进行非空判断,如果为空给其赋一个怎样的值(建议使用三元运算符)。
命名规范:除了某些无意义的Label控件无需命名外(关键的仍需要注意),其他的控件需按照前缀+用途功能,如btn+按钮操作功能(如btnSave)。前缀见下表。
1.1 控件前缀

控件

 
前缀
控件
前缀
Form
frm
Class
cls/C
Module
mod
Label
lbl
LinkLabel
lnk
Button
btn
TextBox
txt
CheckBox
chk
RadioButton
rad
GroupBox
grp
PictureBox
pic
DataGrid
grd
ListBox
lst
CheckedListBox
clst
ComboBox
cbo
TreeView
tvw
ListView
lvw
TabControl
tab
DateTimePicker
dtp
Timer
tmr
Splitter
spl
ProgressBar
pbar
RichTextBox
rtf
ImageList
imgl
ToolBar
tlb
MenuItem
mnu

 

不使用Ajax控件及其扩展控件,需要实现局部刷新则使用pro框架。
下拉列表绑定后,注意给第一项添加提示。如果是更新页面,需要指定原来的选择,即给SelectedValue赋值就行了。添加第一项提示的代码如下:
            ddlrole.Items.Insert(0, new ListItem("请选择角色", "请选择角色"));
 

 

1.6.2 数据库规范
在执行更新、插入时,需要对传入的值进行处理,比如英文单引号“”,要替换成“’’”。在本项目中,可能会定义一个全局的扩展方法进行上述处理。
在设计数据表时,需在填写该字段的备注信息(属性里边)。
所有的数据表之间不建立任何主外键关系,其关系在编程中控制(需要注意相关字段的命名)。
多表查询使用视图,并且不使用连接查询。
所有的T-Sql语句尽量写成存储过程。
在所有的更新插入语句中,需要对html标记进行处理。
SQL注入攻击让恶意用户改变SQL命令或者执行任意的SQL命令。典型的SQL 注入攻击是取代或添加到那些已经作为应用程序一部分合理执行的查询。当你使用字符串连接去创建带有从终端用户输入值的SQL语句时,发动SQL注入攻击将变的可行。例如,下面SQL语句可能被用于修改用户的密码:
sql = "select * from UserInfo where password='" + password + "'";  
恶意用户可以利用下面的输入绕过密码检查:password = "' or 1=1 --"; 更糟糕的是恶意用户可能利用命令分隔符(;)去添加SQL命令到用户输入,如下面的例子: ; DROP TABLE。为帮助避免SQL注入, SQL查询中使用命令参数可帮助验证用户的输入。单引号将代表候补格式通过验证。这个例子将不会引起SQL注入尽管密码并非有效:
cmd = new SqlCommand("select * from UserInfo where password=@ password", conn);SqlParameter pwd =
cmd.Parameters.Add("@password", SqlDbType.Char, 20);pwd.Direction = ParameterDirection.Input;pwd.Value = "' or 1=1
--";

1.2  文件命名规范

q  文件命名的原则:以最少的字母达到最容易理解的意义。

q  一般文件及目录命名规范:每一个目录中应该包含一个缺省的html 文件,文件名统一用index.htm

q  文件名称统一用小写的英文字母、数字和下划线的组合,尽量按单词的英语翻译为名称。例如:feedback(信息反馈)aboutus(关于我们),多个同类型文件使用英文字母加数字命名,字母和数字之间用_分隔。例如:news_01.htm。注意,数字位数与文件个数成正比,不够的用0补齐。例如共有200条新闻,其中第18条命名为news_018.htm

q  图片的命名规范 :名称分为头尾两两部分,用下划线隔开。头部分表示此图片的大类性质。例如: 放置在页面顶部的广告、装饰图案等长方形的图片我们取名:banner ;标志性的图片我们取名为:logo;在页面上位置不固定并且带有链接的小图片我们取名为button;在页面上某一个位置连续出现,性质相同的链接栏目的图片我们取名:menu;装饰用的照片我们取名:pic;不带链接表示标题的图片我们取名:title 依照此原则类推。尾部分用来表示图片的具体含义,用英文字母表示。例如:banner_sohu.gif banner_sina.gif menu_aboutus.gif menu_job.gif title_news.gif logo_police.gif logo_national.gif pic_people.jpg pic_hill.jpg.。有onmouse效果的图片,两张分别在原有文件名后加"_on""_off"命名。

q  其它文件命名规范:js的命名原则以功能的英语单词为名。例如:广告条的js文件名为:ad.js

 

本站热点业务

更多模板/案例展示

关于我们 | 联系我们 | 团队日志 | 网站地图 | 网站合作