项目中的经验积累之一

1.return

return 在代码中的合理运用,尤其是在数据校验时的运用,当条件不满足时,立即跳出本层函数,后面的代码就不执行了。
        FunClass fun = new FunClass();
        if (!fun.KaiShPD())
        {
            ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "ss", "window.open('../am.html')", true);
            return;
        }

2.数据的校验

(1) 用户填写数据时,前台应用JS或Jquery需要进行必要的校验,但是当用户禁用JS时就导致数据存储紊乱。应该在保存或提交页面数据后,后台代码要进行保存的校验,关键字段数据不能为空或格式必须正确。

(2) JS校验

在保存按钮或是提交按钮的button控件中加入OnClientClick="return Control();"

js:function Control()

{

var QSh = document.getElementById("ctl00_ContentPlaceHolder1_tbJiaoGKShShJ_JIAOGKSHSHJ").value;

        if (QSh == '') {
            alert('交收开始时间不能为空!');
            return false;
        }

        return true;

}

其中“ctl00_ContentPlaceHolder1”为模板页id,“tbJiaoGKShShJ_JIAOGKSHSHJ”为控件id。

(3) 后台校验

保存事件中加入ValidateSave()方法:

if(!ValidateSave())  return;

private bool ValidateSave()

{

        //非空验证
        if (this.tbMoney.Text == "")
        {
            MessageBox.Show("金额不能为空!");
            return false;
        }

        return true;

}

 

3.VS(Visual SourceSafe)的使用

(1) 自己编写的页面,一定要重新生成并且不报错时,再签入,负责会导致别人的程序无法运行。

4.对于自己负责的功能模块

(1)如果业务比较复杂,可以现在纸上把业务流程先大致画出来,有多少个分支,有多少个判断。心中有数后再进行编码。

(2)将自己每日做的东西进行及时记录,包括数据库字段的增加、修改页面的记录。

5.AutoPostBack='False'

(1) 编写的页面时会用到许多控件,如DropDownList  它们有个属性,是AutoPostBack,属性值为true或false

(2) AutoPostBack意思是自动回传,也就是说此控件值更改后是否和服务器进行交互,若设置为True,则你更换下拉列表值时会刷新页面设置为flase就不会刷新了(也就是false时不和服务器交互)

6.动态绑定问题,增强易维护性

(1) 最常见的问题是比如DropDownList等控件的数据绑定,比如一个单据状态显示功能,一定不要在页面里写死;否则编写的时候图了个方便,但是日后当甲方要求有名称变化改变时,N多个页面有你改的,所以一定动态绑定和关联所需要的小表。

7.利用ArrayList来批量执行sql语句

(1) 以前没怎么用过ArrayList,最近发现了它还能这么用,感觉挺爽的。类是一个特殊的数组,通过添加和删除,就可以动态改变数组的长度。

(2) 先实例化一个ArrayList对象:ArrayList sqlStr = new ArrayList();

(3) 有时候业务走到一个流程时,可能要同时更新或删除多个表。这时候把需要的业务逻辑sql尽情的加进来吧。

sqlStr.Add("update t set id='1'");

sqlStr.Add("delete from t");

......

......

(4) 调用写好了的sql处理类来执行sqlStr

(5)结束,感觉和存储过程实现的功能挺像的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值