假期开始对于VS2003使用进行学习,首先碰到的就是环境的配置。以前学的Visual Studio2003,但并没有怎么用。看到这个新东西,就怕了。所以有一个星期的时间基本是在用实践着不知道TOM知道了,会不会有点郁闷。
1,不要在VS里直接复制ASPX文件,因为复制的时候,两个文件会使用同一个类文件,要复制的话,应该建空文件,然后复制页面和代码
2,发在项目完工的时候,要想得到一个干净的,仅有必需文件的项目,可以用复制项目的方法,注意的时,包含在项目的文档将会被编译及复制,没有包含的文档不会被复制,复制前,需要建立一个目标空站点,复制的方法应该选文件共享
3.VS.net中每一个文件的生成方法都有编译,内容,嵌入三种,对于CS文件,其生成方法应该为编译,对于ASPX文件,应该为内容,对于像想嵌入到DLL中的资源,如BMP图像,ICO图像,字符串等,应设为嵌入
其他文件,均设为内容
4.DATAREADER能解决的,请不要用DATASET
5.处理控件的分页,特别是DATAGIRD时,请尽量用自定义分页,然后自己写分页方法,不要用DATAGRID的自动分页功能,自动分页的性能不好
6.有时候,定义了一个WEB项目,在定义中,定义了其URL,如http://localhost:8001/,但是后来项目的URL可能发生了变化,成了http://localhost:8009,这个时候,直接打开项目可能不会成功,可以找到项目源文件所在文件夹,用记事本打开后缀为.webinfo的文件,修改其中的URL指向即可
7.在VS.NET中,添加窗体,必然会添加相应的CS类文件,有时候,希望直接在ASPX文件中以<;%%>;的古典形式来书写代码,这时,千万别直接删除CS类文件,应该先显示所有文件,然后,打开对应ASPX页面,将头部的<;%@ PAGE%>;指令中的CODEBEHIND以及inhert两项删除后再删除CS文件
8.CS1607: Assembly generation -- Referenced assembly 'Assembly Name' is a localized satellite assembly错误的处理原因是由于Assembly.cs中一项属性:[assembly:AssemblyCultureAttribute("")]使用了不正确的值,正确的方法,是将其改为默认值此文出处在于:http://weblogs.asp.net/jgaylord/archive/2003/08/22/25003.aspx
9.用ASP.NET写WINDOWS事件日志的方法:(很多人在CSDN和MS的新闻组里问,我也问过,但无果,下面的方法是自己琢磨出来的)
a,打开注册表:HK_L_M\SYSTEM\CURRENTControlSet\Services\EventLog\application建立一个项
项名就是EVENTSOURCE的名称了(这一步,可以在做项目安装文件时做进安装步骤里,就不用手工操作了)
b,在代码中,使用EVENTLOG.WRITEENTRY来写日志就可以了
原因呢是ASP.NET的运行帐户没有权限来建立事件源,但是,却有权限来读写事件日志了
10,排除和包含项目:对于不想编译以后不想包含在最终版本里的文件,应该将其排除,被排除的文件将不会参与编译及项目复制,如果包含一个文件夹,将会包含其所有下级
11,默认下,ASPX不允许POST含有HTML的内容,将PAGE指令中加入ValidateRequest="false"即可
#t#想要引用别人的控件,可以直接将DLL拷入BIN文件夹,然后在工具箱中点击添加删除工具,流览该文件,然后选中就可以放入工具箱了对于HTML标签,想要将其变为服务器控件,可以选中并点击右键,选择在服务器端运行
,编写客户端事件处理脚本需要对HTML标签或者客户端控件进行命名,然后在代码视图中,选择相应的控件名称及事件即可
WEB控件只要命名了,均可以在客户端脚本中以其标签来引用常用的代码可以直接拖入工具箱中作为一个工具引用.要引用用户控件,可以直接拖动用户控件的ASCX文件至设计窗,VS会自动为你添加REGISTER标签
要防止别人反编译,可以用VS自带的代码混乱工具,将DLL添加,然后生成,生成的代码主要是对一些方法和类的名称混乱要把连接串放入WEB.CONFIG,VS2003使用,可以直接打开WEB.CONFIG文件,加入段,在其中加入
引用的时候,先导入名称空间:system.configuration,使用configurationsettings.appSettings["dsn"]就可以引用了
非必要时,VS2003使用不要用DataBinder.Eval,应该用((DataRowView)(Container.DataItem))["列名"]的方式来访问数据,但使用这种方法,必须在ASPX页面顶部加入<;%@ Import Namespace="System.Data" %>;
用户控件也可以定义属性和方法,但是,如果定义了属性的话,控件的显示部分,可能要用自定义的方法来完成,不能依赖于控件的PAGE_LOAD事件来处理,因为对于PAGE_LOAD来说,这些自定义的属性尚不可见