编程技巧 - 文章列表
-
支持正则表达式的UrlMapping(ASP.NET2.0)
猛然发现ASP.NET 2.0本身就提供了对UrlMapping的天然支持--web.config文件中的<urlMappings>节,感叹现在写程序真的不是什么技术活了。\n<?xml version=”1.0″?><configuration> <system.web> <urlMappings> <add url=”~/2006/07″ mappedUrl=”~/Month.aspx?year=2006&amp;m
-
ASP.NET 2.0服务器控件之实现验证控件
为了更好的创建交互式Web应用程序,加强应用程序安全性(例如,防止脚本入侵等),开发人员应该对用户输入的部分提供验证功能。过去,输入验证功能基本由自行编写的客户端脚本来完成这种实现方法既繁琐,又容易出现错误。随着技术的发展,ASP.NET技术通过提供一系列验证控件来克服这些缺点,例如,RequiredFieldValidator、CompareValidator、RangeValidator等。使用这些验证控件,开发人员可以向Web页面添加输入验证功能,例如定义验证规则、定义向用户显示的错误信息内容等。通常情况下,ASP.NET提供的验证控件可以满足大多数Web应用的需要,然而,在某些情况下,
-
.NET 2.0 中的自定义配置处理
引言 现代软件开发中,各种技术、技巧越来越依赖配置,譬如客户端对用户体验的个性化设置、系统的各种运行时参数设置、可插拔的插件机制、基于配置的IoC架构模式等。配置方式也从最初的二进制存储格式逐步过度到INI文本格式直至今时所广泛使用的Xml格式。使用Xml格式进行配置,大大提高了对设置数据的表现能力,但是在 .NET 1.x 中对Xml配置的操控还有诸多不便,尤其是对Xml配置的存储同步机制很不完善,而从 .NET 2.0 开始,框架提供了更丰富和易于操控使用的机制。 .NET 中的配置文件(Xml)必须以“<configuration>”为根节点,配置文件分为两大部分:配置声明区和数据
-
ASP.NET2.0登陆控件的使用(常见的三种方法)
这里以CreateUserWizard 为例说明注册用户向导的常规使用1)使用默认的向导控件功能 默认的注册向导的使用向导的简单,简单到如下只要一句话代码的地步: <asp:CreateUserWizard ID=”CreateUserWizardControl” runat=”server”/>无需要额外的代码就能够完成用户的注册,将注册的信息写入ASPNETDB.MDF数据库。\n2)使用默认ID 一些不安分的用户开始不满足上面的功能:虽然简单,但是太死板,没有灵活性,例如在用户名,我想要验证用户名必须是字母或者是数字,此时
-
在Visual Studio 2005和ASP.NET 2.0中使用强类型数据存取
“Never put off until run time what can be done at compile time.”David Gries, Compiler Construction for Digital Computers\nIntroduction\n 作为程序员,我们在学习一些新技术的时候,范例有时候会是我们最大的敌人。指南通常被设计成简单易懂,但同时里面的懒惰、无效率的甚至是危险的代码编写会增多。像这种情况最普遍存在的就是在ADO.NET的范例中了。在这篇文章中,我们将看一下数据库中的强类型对象有什么意义,会让你在你的程序中这样做,尽管缺乏范例
-
在ExcuteReader中使用输出参数的问题
今天一个查询需要通过 ExcuteReader 返回结果集,同时又想输出参数,刚开始的时候一直得不到输出参数的值,以为存储过程出错,但是在查询分析器里面测试是正确的,而且输出参数确实已经赋值。更加让人百思不得其解的是,对出输出强制类型转换丢出异常之后,确又可以得到了,难道是ado.net 的bug,想象页不可能啊,这么常用的API,不可能出这种错吧,我的代码类似一下场景:try { using (SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection)) {
-
漫谈Visual C#的组件设计方法
Properties 在C#中为类预定义属性是件再简单不过的事,见程序1。 程序1\nusing System;namespace PropertiesDemo{ public class MyData { …………… } public class Class1 { private MyData _data; public MyData Data { get { return _data; } } public Class1() { _data = new MyData(); } }}
-
如何解决Remoting无法传输存储过程参数的问题
在项目的开发中使用Remoting,并且所有的数据请求服务都是通过Remoting完成的,所以自然就在其中到了传递参数的存储过程,在业务逻辑中把参数构建好后传递到Remoting服务端,在取出存储过程的参数时报错,具体错误不记得了,自己尝试了各种方法也不行,上网资讯也没有结果,最后变通了一下,问题解决了,例子如下:\n以下部分为客户调用端1//先声明参数 2 private const string PARAM_GUID = “@GUID”; 3 private const string PARAM_VGA_TREEGUID = “
-
C#中时间格式的转换
有时候我们要对时间进行转换,达到不同的显示效果 默认格式为:2005-6-6 14:33:34 如果要换成成200506,06-2005,2005-6-6或更多的该怎么办呢 我们要用到:DateTime.ToString的方法(String, IFormatProvider) using System; using System.Globalization; String format=”D”; DateTime date=DataTime,Now; Response.Write(date.ToString(format, DateTimeForma
-
利用Visual C#实现任务栏通知窗口
想必大部分网友都使用过QQ、MSN等聊天程序,它们的界面都相当华丽,尤其是当网友上线以及消息提示时会有一个浮动的窗体从屏幕的右下方缓慢升起,既美观又人性化,作为程序员在享受的同时我们也不禁要问:这到底是怎么实现的呢?本文就利用Visual Studio .Net C# 2005以及.Net框架绘图技术来实现这种任务栏通知窗口。 简介 QQ和MSN的任务栏通知窗口很人性化,它可以在不丢失主窗体焦点的前提下显示一个具备皮肤Skin的通知窗体,当它显示一段时间后会自动消失,所以用户根本不用干预它。这样的通知窗体和一般的具备标题栏、系统图标和按钮的窗体没有太大的区别,窗体表面其实就是画上去的一张