共134篇 首页 上一页 下一页 尾页 页次:4/14页  10篇/页 转到:
未知 信息技术使用Conditional属性来代替IF/ENDIF程序块   [ 2006-11-16 00:00:00  星期四 ]
在编码的时候,有时候需要添加一些DEBUG信息,来为了方便调试程序,但是到了真正发布的时候,又不希望把这些信息进行编译发布。那么在以前C或者C++编码的时候,用IF/ENDIF来定义程序块实现这个功能,而此方法在C#中可以继续沿用。
这种用IF/ENDIF来增加DEBUG信息块有两种方式,如下:
方式一,在一个函数中进行嵌入,例如:
#if DEBUG
            Trace.WriteLine( "ErrorMessage!" );
#endif
 
方式二,用IF/ENDIF填充整个函数,然后在需要加载的地方调用此函数即可,例如:
        private void DEBUG_TRACE( string strMsg )
        {
#if DEBUG
            Trace.WriteLine( strMsg );
#endif
        }
 
就这两种方式而言,都分别有些不足的地方。
对于方式一来说,首先增加过多的IF/ENDIF程序块,会使程序变得晦涩,而且代码太混乱。除此外,程序有可能出现潜在的BUG,考虑如下代码。
            string strMsg = null;
#if ……


  阅读全文>>
阅读全文 | 编者:  | 评论:0 | 查看:6289  
未知 信息技术提供一个有意义的ToString函数   [ 2006-11-16 00:00:00  星期四 ]
在编写自定义类型的时候,即使我们不写ToString函数,系统也会自动提供ToString函数,例如:
   public class clsUserInfo
    {
        private string strUserName;
        ……
    }
 
不过系统所提供ToString函数,并不做太多的事情,无法真实的反映当前对象的一些属性,就如上这段代码,调用ToString返回的结果和GetType后转换成String是一样的。那么这样的返回值对于调用者来说没有太多的意义。
 
为了能提供一个有意义的ToString函数,则需要重载ToString函数来实现一个面向此对象的ToString函数。举例说明,对于上面clsUserInfo这个类型,如下这种写法会使ToString函数更有意义。
    public class clsUserInfo
    {
        private string strUserName;
        ……
        public override string ToString()
        {
            return string.Format( "User name:{0}", strUserName );
        }
    }
 
提供一个……


  阅读全文>>
阅读全文 | 编者:  | 评论:0 | 查看:6406  
未知 信息技术星座类(UserLib.World.Time.Constellation)   [ 2006-11-16 00:00:00  星期四 ]
以下是星座类,用于判断你属于哪个星座,也可以获取星座对应当日期范围
其中涉及到的类Segment将会在文章末尾解释
 
using System;
using System.Collections.Generic;
using System.Text;
 
namespace UserLib.World.Time
{
    /// <summary>
    /// 星座
    /// </summary>
    public class Constellation
     {
        private static Segment[] data=new Segment[12];         //保存星座数据
 
        /// <summary>
        /// 日期索引函数
        /// </summary>
        /// <param name="dt">日期</param>
        /// <returns>对应的索引</returns>
        private static int Index(DateTime dt)
        {
            //将年份统一为
            //因为年是闰年,当输入的日期为月日时,程序不会出错
            DateTime rdt = new DateTime(2000, dt.Month, dt.Day);
      &n
阅读全文 | 编者:  | 评论:0 | 查看:6760  
未知 信息技术DotNet2005中的App_Code文件夹的作用   [ 2006-11-16 00:00:00  星期四 ]

如果您的 Web 应用程序包括要在多个页之间共享的代码,您可以将代码保存在 Web 应用程序根目录下的两个特殊文件夹(Bin 文件夹和 App_Code 文件夹)中的某个文件夹中。

Bin 文件夹
可以在 Bin 文件夹中存储编译的程序集,并且 Web 应用程序任意处的其他代码(如页代码)会自动引用该文件夹。典型的示例是您为自定义类编译好的代码。您可以将编译后的程序集复制到 Web 应用程序的 Bin 文件夹中,这样所有页都可以使用这个类。

Bin 文件夹中的程序集无需注册。只要 .dll 文件存在于 Bin 文件夹中,ASP.NET 就可以识别它。如果您更改了 .dll 文件,并将它的新版本写入到了 Bin 文件夹中,则 ASP.NET 会检测到更新,并对随后的新页请求使用新版本的 .dll 文件。

Bin 文件夹的安全性
将编译后的程序集放入 Bin 文件夹中会带来安全风险。如果是您自己编写和编译的代码,那么您了解代码的功能。但是,您必须像对待任何可执行代码一样来对待 Bin 文件夹中已编译的代码。……


  阅读全文>>

阅读全文 | 编者:  | 评论:0 | 查看:6143  
未知 信息技术页面转向的小处见大问题   [ 2006-11-16 00:00:00  星期四 ]

如果有以下几种很简单的需求,可是小需要中隐藏着大问题。
给页面添加4个web按钮,点击4个按钮分别实现
(1)打开一个摸态对话框
(2)页面在客户端转向
(3)页面转向并且进行一个服务器端操作比如Session["test"]=1;
(4)页面转向并且输出一个客户端提示

(1)return false的问题
在PageLoad里面这么写
Button1.Attributes.Add("onclick","window.showModalDialog('a.aspx');");
如果这样的话关闭摸态对话框页面还是会Postback,如果在Button1的服务器端事件中写了
Response.Write("aa");可以看到确实输出内容了
为什么return false就可以了呢?在以前的asp中我们一般不会用一个type=submit的按钮来执行一个单纯的js操作
一般我们这么写:<input type="button" onclick="">而asp.net的web按钮都是type=submit的

(2)
同样的,在PageLoad里面这么写
Button2.Attributes.Add("onclick","location.href='a.aspx'");
这样是不能转向的,一定要
Button2.Attribute……

  阅读全文>>

阅读全文 | 编者:  | 评论:0 | 查看:6073  
未知 信息技术ASP.NET Tips: 获取插入记录的ID   [ 2006-11-16 00:00:00  星期四 ]
你的sql语句
string  SqlStr=@"insert  into    table(……)values(……)      select  SCOPE_IDENTITY()    as  'myNewId'";
执行sql
SqlDataReader  myDr=用ExecuteReader方法执行你的SQL语句
获得ID
myDr.GetValue(0).ToString()

注:
/*  对于想要得到一个表中的最后一个插入操作所产生的ID的最好用IDENT_CURRENT('TBName')*/
INSERT  INTO  table(field1,field2,...)  VALUES("field1Value","field2Value",...)  SELECT  IDENT_CURRENT('recordID')  as  newIDValue

/*对于马上使用的刚才插入的新记录ID用SCOPE_IDENTITY()是最合适的*/
INSERT  INTO  table(field1,field2,...)  VALUES("field1Value","field2Value",...)  SELECT  SCOPE_IDENTITY()  as  newIDValue

/*对于想要得到一系列的操作中最后得到的那个自增的ID最好用@@IDENTITY*/
INSERT  INTO  table(field1,field2,...)  VALUES("field1Value","field2Value",...)  SELECT  @@IDENTITY  as  newIDVa……


  阅读全文>>
阅读全文 | 编者:  | 评论:0 | 查看:6227  
未知 信息技术Asp.net之数组应用   [ 2006-11-16 00:00:00  星期四 ]
string[] abc=new string[8]{"1","2","3","4","1","2","3","4"};
Response.Write(Array.IndexOf(abc,"3",1));//在abc数组中查找"3",从abc[1]开始找
Response.Write(Array.LastIndexOf(abc,"3"));//在abc数组中查找"3",从最后开始找
------------------------------------------------------------------------------
string[] arrStr=new string[8]{"1","4","3","2","16","14","12","14"};//arrStr[0]="1"...arrStr[7]="14"
Array.Reverse(arrStr); //颠倒arrStr数组,此时arrStr[0]="14"...arrStr[7]="1"
Array.Sort(arrStr); //给数组排序,此时顺序为1,12,14,14,16,2,3,4(因为是按字符串排序)
------------------------------------------------------------------------------
Array型数组要重定义大小,必须用ReDim(VB),对于大数组会特别慢;且无法在中间插入元素;不能清除它们(只能设置为空或0)
ArrayList在使用上比Array慢,但是不用重定义大小,使用myArrList.Add(……

  阅读全文>>
阅读全文 | 编者:  | 评论:0 | 查看:5777  
未知 信息技术不要忽略c#中的using和as操作符   [ 2006-11-16 00:00:00  星期四 ]
是不是很多人不用c#中的using和as操作符?甚至不知道?
其实这2个操作符在小处非常有用。
1、using
按照msdn的解释  
using 语句定义一个范围,在此范围的末尾将处理对象。

举例:

class TestUsing:IDisposable……
 


  阅读全文>>
阅读全文 | 编者:  | 评论:0 | 查看:6158  
未知 信息技术批量删除文件和更改RDC默认端口   [ 2006-11-14 00:00:00  星期二 ]

批量删除文件的命令

del d:\setup.ini /f/s/q/a


强制删除d盘下所有目录内(包括d盘本身)的setup.ini文件并且不提示是否删除

/f 强制删除只读文件

/q 指定静音状态。不提示您确认删除。

/s 从当前目录及其所有子目录中删除指定文件。显示正在被删除的文件名。

/a的意思是按照属性来删除了

也可以使用通配符:*

如:del d:\*.tmp /f/s/q/a 即为删除所有的.tmp文件

 

更改远程桌面端口3389为其他的端口号


       Windows 2000系统中的远程终端服务是一项功能非常强大的服务,同时也成了入侵者长驻主机的通道,入侵者可以利用一些手段得到管理员账号和密码并入侵主机。下面,我们来看看如何通过修改默认端口,防范黑客入侵。
  远程终端服务基于端口3389。入侵者一般先扫描主机开放端口,一旦发现其开放了3389端口,就会进行下一步的入侵,所以我们只需要修改该务默认端口就可以避开大多数入侵者的耳目。
  步骤:打开“开始→运行”,输入“regedit”,打开……


  阅读全文>>

阅读全文 | 编者:  | 评论:0 | 查看:7444  
晴天 信息技术ASP.NET程序中常用代码汇总(1)   [ 2006-11-10 00:00:00  星期五 ]
1. 打开新的窗口并传送参数:
//传送参数:
response.write("<script>window.open(’*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="++"’)</script>")
  
//接收参数……


  阅读全文>>
阅读全文 | 编者:  | 评论:0 | 查看:6139  
共134篇 首页 上一页 下一页 尾页 页次:4/14页  10篇/页 转到:

免责申明 | 版权申明 | 联系我们 | 关于
Copyright © 2001-2025 Haiyun.Net All Rights Reserved
地址:深圳市南山区南油天安工业区1栋3楼 邮编:518000
有我可以帮您的吗?QQ:12457275  
粤ICP备05017321号-1