DropDownList总是取得第一条记录的内容

艾,今天咋就那么倒霉呢,以前都注意这个问题的,今天就忘记写了。

程序里,用户点击完一个保存按钮,然后在按钮的点击事件里我写上处理代码,结果每次取DropDownList里的值时,总是取得的第一个列表值,晕。

查了半天,原因竟然是忘记把邦定DropDownList的代码放到if(Page.IsPostback)里了。

再晕一次!!!

Share
Posted in 编程 | Leave a comment

用VisualC#打造个性化的IE浏览器

IE是现在Windows平台下用的最多的浏览器,但微软提供的IE是那么朴实,以至于毫无特色,那么如何用程序来修改IE,打造有自己的特色的IE呢?我经过思索,通过注册表找到了修改IE的方法,下面我向大家介绍一下这种方法。

首先我们来熟悉一下C#中修改注册表的方法与函数。在VC#中提供了Registry类、RegistryKey类来实现对注册表的操作。其中Registry类封装了注册表的七个基本主健:

Registry.ClassesRoot 对应于HKEY_CLASSES_ROOT主键

Registry.CurrentUser 对应于HKEY_CURRENT_USER主键

Registry.LocalMachine 对应于 HKEY_LOCAL_MACHINE主键

Registry.User 对应于 HKEY_USER主键

Registry.CurrentConfig 对应于HEKY_CURRENT_CONFIG主键

Registry.DynDa 对应于HKEY_DYN_DATA主键

Registry.PerformanceData 对应于HKEY_PERFORMANCE_DATA主键

RegistryKey类封装了对注册表的基本操作,包括读取,写入,删除。其中读取的主要函数有:

OpenSubKey ( string name )方法主要是打开指定的子键。

GetSubKeyNames ( )方法是获得主键下面的所有子键的名称,它的返回值是一个字符串数组。

GetValueNames ( )方法是获得当前子键中的所有的键名称,它的返回值也是一个字符串数组。

GetValue ( string name )方法是指定键的键值。

写入的函数有:

CreateSubKey(string name)方法是增加一个子键

SetValue(string name,string value)方法是设置一个键的键值

删除的函数:

DeleteSubKey ( )方法:删除一个指定的子键。

DeleteSubKeyTree ( )方法:

此方法是彻底删除指定的子键目录,即:删除该子键以及该子键以下的全部子键。

通过注册表可以修改IE,在这里我简单的介绍几个常用的来实现对IE的修改。

如果我们希望在打开或者关闭IE窗口时,被打开的窗口有动感效果,那么可以打开HKEY_ CURRENT_USER \ Control Panel\ desktop\ WindowMetrics键,并在右边的窗口中新建串值”Minanimat”与”Maxanimat”并设值为”0″,为”1″,这样在IE窗口最大最小化切换时有递变的效果。

如果我们更改为IE的工具栏添加背景那么展开HKEY_Current_User\ Software\Microsoft\Internet Explorer\Toolbar键值,Explorer主键下新建一个名为”BackBitmap”的字符串值,并将其值修改为事先准备的BMP图片的完整路径及文件名;这样我们就完成了为IE的工具栏添加背景图片的目的。

用C#编程来实现的方法如下:

1.IE窗口的动感效果

//————————————-
// ChangeIE.cs ? 2004 by yudehui
//————————————-
using System;
using Microsoft.Win32; //对注册表操作一定要引用这个命名空间
namespace ChangeIE
{
    class ChangeIE
    {
        [STAThread]
        static void Main(string[] args)
        {
            RegistryKey pregkey ;
            pregkey = Registry.CurrentUser.OpenSubKey(“Control Panel\\Desktop\\WindowMetrics”,true);
            if (pregkey==null)
            {
                Console.WriteLine(“键值不存在”);
            }
            else
            {
                pregkey.SetValue(“MinAnimate”,”1″);
                pregkey.SetValue(“MaxAnimate”,”1″);
                Console.WriteLine(“修改成功”);
            }
            pregkey. Close;
        }
    }
}

2.改变IE工具栏的背景

//————————————-
// ChangeIE.cs ? 2004 by yudehui
//————————————-
using System;
using Microsoft.Win32; //对注册表操作一定要引用这个命名空间
namespace ChangeIEbackColor
{
    class ChangeIEbackColor
    {
        [STAThread]
        static void Main(string[] args)
        {
            RegistryKey pregkey ;
            pregkey = Registry.CurrentUser.OpenSubKey(“Software\\Microsoft\\Internet” +  ”Explorer\\Toolbar\\Explorer ”,true);
            if (pregkey==null)
            {
                Console.WriteLine(“键值不存在”);
            }
            else
            {
                pregkey.SetValue(“BackBitmap”,”C:\\windows\\Greenstone.bmp”);
                Console.WriteLine(“修改成功”);
            }
            pregkey.Close;
        }
    }
}

以上两个简单的例子只是对IE进行了简单的设定,相信大家对C#下对注册表的操作已经有了一定的了解。有兴趣的读者可以自己对IE进行更个性化的修改,以上代码在Windows2003+VS.NET2003下调试通过。

注:在对注册表进行操作有一定的危险性,操作时要先进行备份,以防止误操作,而导致系统崩溃。

出处:http://www.chinacs.net/archives/8/2005/01/28/191.html 作者:于德慧

Share
Posted in 编程 | Leave a comment

用C#得到Oracle配置的连接串

我们以前用C#开发的程序,连接Oracle时的连接串都是手工输入的,现在我想稍微修改一下这个功能,能让用户选择连接串就好了(像PL/SQL一样)。
下面是程序代码:

using System.IO;
using Microsoft.Win32;
......
//此处省略其他的using

//下面的代码片断可以放在form_load事件里

//声明一个注册表项对象,使其打开LocalMachine主项
RegistryKey HKEY=Registry.LocalMachine;

//声明另外一个注册表项对象,使其打开Oracle所用到的项
RegistryKey OracleSubKey=HKEY.OpenSubKey("Software\\oracle",false);

//然后用GetValue方法,得到Oracle安装文件夹的路径
string tnsFileName=OracleSubKey.GetValue("ORACLE_HOME").ToString();

//得到Oracle连接串配置文件的绝对地址
tnsFileName+="\\network\\ADMIN\\tnsnames.ora";

//声明一个StreamReader对象,打开这个配置文件
StreamReader fin=new StreamReader(tnsFileName);
string Content;
Content=fin.ReadLine();    //从配置文件里读一行数据
while(Content!=null)    //执行循环,直到读取的内容为null,退出循环
{
    //再读一行,因为配置文件里前两行都是注释,所以不加限制的读取3行是没有问题的
    Content=fin.ReadLine();

    //判断读取的内容是不是符合条件。
    //由于&&判断是骤死式判断,所以当&&前的判断不成立时,后面的判断就不进行了。
    //所以按照这个顺序写,是不会出错的。
    //如果把Content!=null放到if判断的第二条,那么程序就会出错(因为当读到文件尾的时候,Content会等于null)
    if(Content!=null && Content.Length!=0 && Content[0]!=' ' && Content[0]!='#')
    {
        comName.Items.Add(Content.Substring(0,Content.Length-2));    //向一个ComboBox里添加数据
    }
}
fin.Close();
Share
Posted in 编程 | Leave a comment

转载:上海移动“手机地图业务”客户使用指南

上海移动“手机地图业务”客户使用指南
地图变化跟不上城市变化,可城市再变也变不出你手心。我们秉承No.1的精神,为您推出功能强大的“手机地图”服务。借助我们的无线数据新平台,您能通过移动WAP和手机短信方式,享受细致周到的就近场所查询、交通导航等位置服务。只要玩转手机,就能玩转城市,让您坐拥No.1的实力,享受No.1的灵动生活!

使用方法

在试用期间,您可通过WAP和短信两种方式使用业务。

WAP方式:您能根据菜单引导选择所需的服务项目,也能点击一个地址得到该处具体地图

如下图所示,进入上海移动的WAP站点(上海风采)后,选择“手机地图”栏目,会出现

上海移动“手机地图业务”客户使用指南

地图变化跟不上城市变化,可城市再变也变不出你手心。我们秉承No.1的精神,为您推出功能强大的“手机地图”服务。借助我们的无线数据新平台,您能通过移动WAP和手机短信方式,享受细致周到的就近场所查询、交通导航等位置服务。只要玩转手机,就能玩转城市,让您坐拥No.1的实力,享受No.1的灵动生活!

使用方法

在试用期间,您可通过WAP和短信两种方式使用业务。

WAP方式:您能根据菜单引导选择所需的服务项目,也能点击一个地址得到该处具体地图

如下图所示,进入上海移动的WAP站点(上海风采)后,选择“手机地图”栏目,会出现诸如“看看四周”等系列子栏目,点击“看看四周”这个子栏目,即出现“餐馆”、“娱乐”等分类信息栏目。(具体栏目以实际情况为准) 随后可得到餐馆信息及地图。

注:某些型号手机需开启wap浏览器的图象下载功能

短信方式:您可将不同的操作指令*发送到特服号码“01516”,不久就会有相应的文字信息回复到您手机上

使用范围

试商用期间仅限上海地区使用

资费标准

试商用期间,如您用wap方式使用手机地图,则只收取正常的GPRS使用通信费,不收取信息费

如您用短信方式使用手机地图,则发送短信通信费收取0.1元/条,接收手机地图的信息费0.3元/条

试商用期间,短信方式只对试点用户开放,wap方式对所有上海移动用户开放

申请流程

上海移动客户(神州行除外)无需申请,均可通过wap方式使用手机地图服务

短信代码

业务内容 业务描述 MO操作步骤
用户指令 举例
我在哪 查询自己的位置 在手机短信中输入: 发送至01516: 您位于:愚园路,中山公园(前门)附近
周边信息查询 最近的餐饮(返回1条) 在手机短信中输入:canyin 发送至01516: 象山海鲜,位于黄浦区迎勋路30号,中华大厦以南附近。电话:021-63781020。
周边信息查询 最近的商场(返回1条) 在手机短信中输入:shch 发送至01516: 上海美美百货,位于徐汇区淮海中路1312号,淮海中路与宝庆路路口东北角。电话:021-64310100。
周边信息查询 最近的娱乐(返回1条) 在手机短信中输入:yule 发送至01516: 都市风情香薰桑拿,位于卢湾区淮海中路98号,西藏南路淮海中路路口西北角。电话:021-53858073。
周边信息查询 最近的宾馆(返回1条) 在手机短信中输入:binguan 发送至01516: 希尔顿酒店,位于静安区华山路250号,上海国际贵都大饭店南侧约50米,华山路与延安中路路口以南附近。电话:021-62480000.
周边信息查询 最近的医院(返回1条) 在手机短信中输入:yiyuan 发送至01516: 上海市第一人民医院,位于虹口区武进路85号,武进路与九龙路路口以西60米。电话:021-63240090
周边信息查询 最近的警察局(返回1条) 在手机短信中输入:jingcha 发送至01516: 上海市公安局黄浦分局巡逻支队,位于黄浦区大洁路123号,大洁路与重庆北路路口以东70米。电话:021-33130921。
周边信息查询 最近的加油站(返回1条) 在手机短信中输入:jiayou 发送至01516: 陕西南路加油站,位于卢湾区陕西南路173号,陕西南路与复兴中路路口东北侧附近。
周边信息查询 最近的移动营业点(返回1条) 在手机短信中输入:yidong 发送至01516:: 中国移动通信东方路营业厅,位于浦东新区东方路836号,汤臣国际金融大厦南侧附近60米,齐鲁大厦内。
周边信息查询 最近的停车场(返回1条) 在手机短信中输入:tingche 发送至01516: 瑞安广场停车场,位于卢湾区马当路,黄陂南路与兴安路路口以北附近。
周边信息查询 最近的邮局(返回1条) 在手机短信中输入:youju 发送至01516: 崂山东路邮局,位于浦东新区崂山东路171号,崂山西路与崂山东路路口东南角。
周边信息查询 最近的公厕(返回1条) 在手机短信中输入:gongce 发送至01516: 普教东路公厕,位于黄浦区普教东路,国货路与普育东路路口以南90米。
周边信息查询 最近的工商银行(返回1条) 在手机短信中输入:gonghang 发送至01516: 工商银行南浦大桥储蓄所,位于黄浦区陆家浜路,阳光公寓以东80米。电话:021-58885888。
周边信息查询 最近的建设银行(返回1条) 在手机短信中输入:jianhang 发送至01516:: 建设银行西藏南路办事处,位于卢湾区复兴中路,申能国际大厦东侧。
周边信息查询 最近的农业银行(返回1条) 在手机短信中输入:nonghang 发送至01516: 农业银行南外滩营业所,位于黄浦区中华路567号,通达大厦以南附近。电话:021-63782655。
周边信息查询 最近的中国银行(返回1条) 在手机短信中输入:zhonghang 发送至01516: 中国银行南浦支行中华路分理处,位于黄浦区中华路1131号,惠德公寓以南附近。电话:021-63772415。
周边信息查询 最近的招商银行(返回1条) 在手机短信中输入:zhaohang 发送至01516: 招商银行中山支行,位于黄浦区中山南路,西藏南路与中山南路路口以东80米。电话:021-63081568。
周边信息查询 最近的其他银行(返回1条) 在手机短信中输入:qtyh 发送至01516:: 上海银行豫园支行,位于黄浦区复兴东路685号,复兴东路与河南南路路口以东附近。
周边信息查询 最近的工商银行ATM(返回1条) 在手机短信中输入:gsatm 发送至01516:: 工行ATM机,位于黄浦区陆家浜路,阳光公寓以东80米。
周边信息查询 最近的建设银行ATM(返回1条) 在手机短信中输入:jsatm 发送至01516: 建行ATM机,位于卢湾区复兴中路,申能国际大厦东侧。
周边信息查询 最近的农业银行ATM(返回1条) 在手机短信中输入:nyatm 发送至01516: 农行ATM机,位于虹口区四川北路2113号,赛博数码广场南侧。
周边信息查询 最近的中国银行ATM(返回1条) 在手机短信中输入:zgatm 发送至01516: 中国银行ATM机,位于虹口区吴淞路,虹口邮政支局北侧。
周边信息查询 最近的招商银行ATM(返回1条) 在手机短信中输入:zsatm 发送至01516: 招行ATM机,位于虹口区四川北路1885号,上海时装商场南侧。
周边信息查询 最近的其他银行ATM(返回1条) 在手机短信中输入:qtatm 发送至01516: 上海银行ATM机,位于闸北区沪太路,沪太路与洛川中路路口以南60米。
问路搭车 准确查询,该查询要求输入的目的地名称准确无误,否则查询将失败 在手机短信中输入:gongjiao +????(其中“?????”代表目的地的地名或单位名) 发送至01516: (查询地:黄浦区福建中路附近—参考) 贵都大饭店,位于静安区延安西路65号,华山路与延安中路路口以西路南侧附近。电话:021-62481688。距离:4186米。方位:西南方向。从福建中路乘37路到静安寺即可
问路搭车 单结果模糊查询(返回一条短消息),该查询不要求输入的目的地名称准确无误,但为了减少多结果的可能性,输入字数不宜太少 在手机短信中输入:gongjiao+????? (其中“?????” 代表目的地的地名或单位名中连续且具有代表性的几个字) 发送至01516: (查询地:徐汇区新南花园肇家滨路附近参考)香格里拉大酒店,位于浦东新区富城路33号,富城路与陆家嘴西路路口向南100米东侧。电话:021-68828888。距离:6240米。方位:东北方向。从枫林路乘872路到陆家嘴即可

转载自:http://plod.popoever.com/archives/000060.html

Share
Posted in 数码 | Leave a comment

查中国天气的好地方

以前也用过一些天气预报软件,大多数都是通过下载weather.com上的资料来实现预报的,不是太准。

还是推荐国家级的天气预报网站

中央气象台(国家气象中心)

中国气象影视信息网

中国气象局

Share
Posted in 生活 | Leave a comment

转载:编写高性能Web应用程序的10个技巧

编写高性能Web应用程序的10个技巧
发布日期:2/1/2005|更新日期:2/1/2005
RobHoward

本文讨论

常见ASP.NET性能难点

面向ASP.NET的有用性能提示和技巧

在ASP.NET中使用数据库的建议

使用ASP.NET进行缓存和后台处理

本文使用了以下技术:
ASP.NET、.NETFramework和IIS

本页内容
数据层性能
技巧1—返回多个结果集
技巧2—分页的数据访问
技巧3—连接池
技巧4—ASP.NET缓存A 

编写高性能 Web 应用程序的 10 个技巧

发布日期: 2/1/2005 | 更新日期: 2/1/2005

Rob Howard

本文讨论

常见 ASP.NET 性能难点

面向 ASP.NET 的有用性能提示和技巧

在 ASP.NET 中使用数据库的建议

使用 ASP.NET 进行缓存和后台处理

本文使用了以下技术:
ASP.NET、.NET Framework 和 IIS

*

本页内容
数据层性能 数据层性能
技巧 1 — 返回多个结果集 技巧 1 — 返回多个结果集
技巧 2 — 分页的数据访问 技巧 2 — 分页的数据访问
技巧 3 — 连接池 技巧 3 — 连接池
技巧 4 — ASP.NET 缓</p>
<div class=
Share
Posted in 编程 | Leave a comment

转载:介绍微软一个罕为人知的无敌命令

问:怎么才能关掉一个用任务管理器关不了的进程?我前段时间发现我的机子里多了一个进程,只要开机就在,我用任务管理器却怎么关也关不了

答1:杀进程很容易,随便找个工具都行。比如IceSword。关键是找到这个进程的启动方式,不然下次重启它又出来了。顺便教大家一招狠的。其实用Windows自带的工具就能杀大部分进程:

c:\>ntsd -c q -p PID

只有System、SMSS.EXE和CSRSS.EXE不能杀。前两个是纯内核态的,最后那个是Win32子系统,ntsd本身需要它。ntsd从 2000开始就是系统自带的用户态调试工具。被调试器附着(attach)的进程会随调试器一起退出,所以可以用来在命令行下终止进程。使用ntsd自动就获得了debug权限,从而能杀掉大部分的进程。ntsd会新开一个调试窗口,本来在纯命令行下无法控制,但如果只是简单的命令,比如退出(q),用- c参数从命令行传递就行了。NtsdNtsd 按照惯例也向软件开发人员提供。只有系统开发人员使用此命令。有关详细信息,请参阅 NTSD 中所附的帮助文件。用法:开个cmd.exe窗口,输入:

ntsd -c q -p PID

把最后那个PID,改成你要终止的进程的ID。如果你不知道进程的ID,任务管理器->进程选项卡->查看->选择列->勾上”PID(进程标识符)”,然后就能看见了。

答2:xp下还有两个好东东tasklist和tskill。tasklist能列出所有的进程,和相应的信息。tskill能查杀进程,语法很简单:tskill 程序名!!

转载自:介绍微软一个罕为人知的无敌命令

Share
Posted in 软件 | Leave a comment

五种主流杀毒软件杀毒数测试

从网上下载“3573个病毒样本”文件。里面都是按照病毒首字母分类的病毒压缩包(ZIP文件),从文件名上看到此包内大概含有3573个病毒,还有不是病毒的文件,共6000多个。
下面是各种杀毒软件的杀毒结果:

实际病毒约 3573
瑞星 3604
KV2005 3591
卡巴斯基 3583
诺顿 3569
PC Cillin 3528

以上杀毒软件的病毒定义日期都是最新(2005年2月22日)。

从上表看来,国产杀毒软件的杀毒数名列前矛,国外杀毒软件排名最高的是卡巴斯基。这个结果似乎可以看作是杀毒软件的选择依据,但是从Google找到的几篇文章,让我动摇了这个推论。
《火热试用江民KV2005及黑客防火墙》
《瑞星杀毒2005抢鲜评测》
《趋势科技新版PC-cillin 2005性能检测报告》
《六款流行企业版杀毒产品客户端综合评测》

在这几个测试中,均采用了上述“3573个病毒样本”文件进行杀毒能力测试。
这有可能意味着,有些杀毒软件厂商,为了追求评测的高分,对“3573个病毒样本”测试进行作弊,使其能查出更多的病毒。

最后,还要说明的是:杀毒数不能完全代表一款杀毒软件的实力,还要从其他方面看,比如说防毒、界面、操作易用度、检察压缩包深度、对加壳的可执行文件检察等方面。

PS: 以前对人们常说的“防毒”和“杀毒”概念不以为然,现在才发现这是两个概念,估计也是两个技术层次。比如说我在装了诺顿之后,电脑运行半年,诺顿没有提示我发现病毒,但是我用诺顿扫描电脑的时候,却发现了几个病毒。这就是“防毒”和“杀毒”(前提是实时监控和杀毒的设置要一致:都检察压缩文件,对所有文件进行扫描等)。

Share
Posted in 软件 | Leave a comment

江民2005局域网升级地址

http://kv2005.cstacn.info/
http://gogopark.myshow.cn/kv2005
http://kv005.myshow.cn/kv005
http://kv2005.cstacn.info/
http://gogopark.myshow.cn/kv2005
http://kv005.myshow.cn/kv005

Share
Posted in 其他 | 2 Comments

杀毒软件评测

前段时间,我又对杀毒软件产生了兴趣,但是测试杀毒软件是项复杂的事,我通过Google找到了这篇文章:2004年个人版防病毒软件评测报告,里面有目前流行的杀毒软件的测评。

前天(周日)去老婆公司帮她弄电脑,本来应该很快的电脑,像老牛一样。我怀疑有病毒,但是电脑里安装了诺顿2005,并且病毒库是最新的。我就怀疑可能有诺顿没查出来的病毒,结合前面看的文章,我安装了卡巴斯基5.0.227,并且将病毒库更新,之后查出了3种病毒,共7个变种。都是目前非常流行的。

失望,对诺顿非常失望,所以家里的、公司的电脑都换成了卡巴斯基。

另外,根据前面的文章,我也下载了江民2005试用,感觉还不错。本来想江民和卡巴斯基同时运行,但是发现系统会变得很慢,所以就将江民的监视服务停掉了。这样在一个固定的时间还可以用江民来杀毒,防止出现卡巴斯基查不出的病毒。

Share
Posted in 软件 | Leave a comment