难得有一片天

success.aspx?para1="要有决心"+para2="要努力"+para3="要有机会"
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

开发经验积累

Posted on 2006-09-07 08:34  seyon  阅读(425)  评论(0编辑  收藏  举报

1.通过分隔符取值的问题

string a="1982-25";
//b="1982"
string b=a.Split('-')[0];
//c="25"
string c=a.Split('-')[1];

String str = "6-2306";
//str="2306"
str = str.SubString(2,4)

2.Formview.defaultmode
 FormView1.DefaultMode = FormViewMode.Insert;

3.枚举类型声明
FormViewMode是枚举类型

FormViewMode x = FormViewMode.Edit;

FormView1.DefaultMode = x;

4.强类型DataSet插入操作,主键为自动增加,在数据集里要配置主键自动增加属性,这样插入操作字段没有主键就不会报主键没有插入的错

5.IIS元数据库错误,原因是因为IIS与.netframework安装顺序错误,应先装IIS,解决办法:运行C:\Windows\Microsoft.NET\Framework\<version>\下的 aspnet_regiis -i

6.数据库错误:字符串截断!原因是因为存储过程定义的参数长度小于返回的结果集字段长度被截断!解决办法把参数长度改为和表字段长度一样或大于

7.锁住ip地址
在Windows 2000/XP中存在Netcfgx.dll,Netshell.dll和Netman.dll三个动态库文件,它们实际上是系统控件,在Windows 2000/XP的安装过程中会自动注册这些控件。这三个控件和Windows 2000/XP的网络功能紧密相关。当修改IP地址时,就需要用到这三个控件。因此,只要将上述三个控件卸载,就可以屏蔽网络连接窗口,这样无论是双击桌面上的网上邻居图标,还是在控制面板中双击“网络连接”项,都无法正常进入网络连接窗口,也就无法在本地连接属性窗口中修改IP地址了。

  在“开始/运行”中输入“Cmd.exe”,确认后打开CMD窗口,在其中分别执行“Regsvr32 /u Netcfgx.dll”、“Regsvr32 /u Netcfgx.dll”、“Regsvr32 /u Netcfgx.dll”命令,就可以将上述控件从系统中卸载。当然,如果以后需要修改IP地址的话,可以上述控件逐一注册即可。注册的方法很简单,只要将上述命令中的“/u”参数去掉,就可以执行注册操作了。例如执行命令“Regsvr32 Netcfgx.dll”就完成了控件Netcfgx.dll的注册。

8.使用objectdatasource时如果update的参数或者insert的参数小于select的参数的时候会出现找不到相应参数的方法,原因是因为传入的参数大于方法参数,解决办法是把方法中没有的参数的控件的数据双向绑定去掉

9.存储过程如果传入参数大于定义的参数长度,那么传入参数失败,不会返回结果集;如果定义的参数长度小于返回的结果集长度,那么将会产生截断错误

10.有些控件当输入参数或者做了修改后,在没有刷新页面的情况下会保持试图状态,要去除就EnableViewState属性为false

11. 利用MaintainScrollPositionOnPostback属性
    考虑到一个很长的页面,如果每次POSTBACK之后,那个IE的滚动条可能都会回到最开始的地方(最上面),而不会保留其原先已经有的位置,这样用户会比较麻烦,又要把滚动条移动到原来的地方,在asp.net 2.0中,可以设置MaintainScrollPositionOnPostback属性为TRUE即可,即
   <%@ Page Language="VB" AutoEventWireup="false" MaintainScrollPositionOnPostback="true" CodeFile="MaintainScrollPosition.aspx.vb" Inherits="MaintainScrollPosition" %>

12.域(成员)也可以使用readonly关键字声明,表示这个域(成员)只能在执行构造函数的过程中赋值,或由初始化赋值语句赋值。
如果我们使用关键字static将域声明为静态,我们要访问这个域(成员)则只能通过定义它的类来访问,通过类的对象实例是访问不到的。

13.VS2005下BoundField的DataFormatString不起作用了?
我们知道在VS2003甚至VS2005Beta下可以用DataFormatString格式化BoundField数据的输出:
               

<asp:BoundField HeaderText="DisplayText" DataField="FieldName" DataFormatString="{0:F2}">
    
<ItemStyle HorizontalAlign="Right" Width="60px"></ItemStyle>
    
<HeaderStyle HorizontalAlign="Right"></HeaderStyle>
</asp:BoundField>


        但是,很快在VS2005中,你会发现DataFormatString不起作用了。

        这时候,应该同时设置HtmlEncode为false,DataFormatString才会起作用:
       

<asp:BoundField HeaderText="DisplayText" DataField="FieldName" DataFormatString="{0:F2}" HtmlEncode="false">
    
<ItemStyle HorizontalAlign="Right" Width="60px"></ItemStyle>
    
<HeaderStyle HorizontalAlign="Right"></HeaderStyle>
</asp:BoundField>

14.无法引用自定义命名空间的问题
定义了自定义命名空间一定要放在APP_CODE里面 ,app_data是用来放数据库的