一切刚起步,从基础做起,关注细节。新参与的项目和以前做的东西相比,也让我有一点小小的收获。无论从代码编写,还是架构的设计,^_^
1、特殊字符的处理
以前有两种方式处理特殊字符,要么后台代码里处理,要么在基类里写个方法公共调用
现在这么做:在存储过程/函数里处理,其实,后台处理和在存储过程中处理有什么性能上的差异吗?
2、常用的几种提示方法
很多时候需要把系统做得友好,删除信息离开页面都需要有提示。
离开页面时的提示信息:
客户端 οnclick="javascript:if(!ConfirmNavigation())return; "
服务器端 OnClientClick="return ConfirmNavigation();"
删除提示:
客户端 οnclick="javascript:if(!ondelete())return;"
服务器端 OnClientClick="return ondelete();"
function ondelete()
{
var result=window.confirm("Are you sure to delete?");
return result;
}
3.Clsss和Struct
以前开发项目,和Struct几乎没有接触,SIF让我稍微对它有了一点了解。
MSDN对Struct的解释是:struct 类型是一种值类型,通常用来封装小型相关变量组,例如,矩形的坐标或库存商品的特征。
其实,class和struct最本质的区别就在于:class是引用类型,继承自System.Object类,内存分配于托管堆;而struct是值类型,继承自System.ValueType类,内存分配于线程的堆栈上,不具多态性。我一直有个不解的地方,为啥System.ValueType是个引用类型,而继承它的Struct却是个值类型?
在以下情况下,鉴于性能上的考虑,我们应该考虑使用struct来代替class:
实现一个主要用于存储数据的结构时,可以考虑struct。
struct变量占有堆栈的空间,因此只适用于数据量相对小的场合。
结构数组具有更高的效率。
提供某些和非托管代码通信的兼容性。
在SIF中,Struct主要用来封装一些变量,其实我在我眼里,就是一种全局变量,不过用法更有质量些: