编程技巧 - 文章列表

  • ASP.NET 2.0主题和皮肤实现网站美化

    主题和外观是ASP.NET 2.0 中的新增功能, 使用 ASP.NET 2.0 的“主题和外观”功能,可以将样式和布局信息分解为单独的文件组,统称为“主题”。然后,主题可应用于任何站点,影响站点中页和控件的外观。这样,通过更改主题即可轻松地维护对站点的样式更改,而无需对站点各页进行编辑。还可与其他开发人员共享主题。应用 ASP.NET 2.0的“主题和外观”功能轻松实现对网站美观的控制。  ASP.NET 提供了一些可在应用程序中对页和控件的外观或样式进行自定义的功能。控件支持 Style 对象模型,用于设置字体、边框、背景色和前景色、宽度、高度等样式属性。控件还完全支持可将样式设置与控件属

  • ASP.NET 2.0后台代码与内联代码的对比

    内联(Inline)代码的分离  下面的例子演示了一个简单的带有三个服务器控件(分别是文本框、按钮和标签)的ASP.NET页面。最初这些控件呈现的内容与HTML形式是相同的。但是,当你在客户端的文本框中输入值并点击按钮的时候,该页面会发回服务器并且在该页面的代码中处理这个点击事件,动态地更新标签控件的Text属性。接下来这个页面会重新呈现以反映更新过的文本。这个简单的例子演示了服务器控件模型背后的基本原理,它使ASP.NET成为最容易学习和掌握的Web编程模型之一。<%@ page language=”VB” %> <script runat=”server

  • 在C语言中以编程的方式获取函数名

    仅仅为了获取函数名,就在函数体中嵌入硬编码的字符串,这种方法单调乏味还易导致错误,不如看一下怎样使用新的C99特性,在程序运行时获取函数名吧。   对象反射库、调试工具及代码分析器,经常会需要在运行时访问函数的名称,直到不久前,唯一能完成此项任务并且可移植的方法,是手工在函数体内嵌入一个带有该函数名的硬编码字符串,不必说,这种方法非常单调无奇,并且容易导致错误。本文将要演示怎样使用新的C99特性,在运行时获取函数名。  那么怎样以编程的方式从当前运行的函数中得到函数名呢?  答案是:使用__FUNCTION__ 及相关宏。  引出问题  通常,在调试中最让人心烦的阶段,是不断地检查是否已调用了

  • 通过ADO.NET存取文件

    时我们需要把一些大的数据对象如图片、可执行文件、视频和文档等数据存入数据库。在MS SQL Server中,这要用到Image数据类型,可以保存多达2G的数据。以下给出一个通过ADO.NET和MS SQL Server实现的小小的例子。\n先创建一个测试数据表。在查询分析器中输入并执行以下语句:Create table [imgtable]( [imgid] [int] IDENTITY(1,1) NOT NULL, [imgname] [varchar](100) COLLATE Chinese_PRC_CI_AS NULL, [imgData] [image] NULL, PRIMARY

  • 对C#中的TreeView添加背景图

    在微软的.NET的Forms窗口控件中,比如Treeview和ListView,仅仅是对通用控件的简单封装,因此他们不正常的引发Paint事件。 微软所发布内容中,能看到的唯一建议就是设置控件的ControlStyles.UserPaint类型,然后自己为控件做所有的绘图操作。 (译注:老外提供了一个TreeViewWithPaint控件类,派生自TreeView类,提供了Paint事件的挂接。)   一、为了解决这个问题,我们在类内部使用了一个基于Bitmap类的Graphics对象。当任何窗口重新定义大小时候,对象都会重建。 \n//Recreate internal graphics o

  • 基于Eclipse开发轻量级Spring插件

    摘要 本文介绍如何在Eclipse中利用Spring框架作为一个平台来创建轻量级的能够与你的现有J2EE应用程序无缝集成的插件。  一. 引言  一般地,企业软件产品都要求在客户端具有定制能力,而且当客户必须修改核心产品的配置来引入他们自己的定制时一般都要求进行更新操作。借助于易于扩展和可升级的高度模块化的软件,插件技术能够提供针对这种典型场所下的完美解决方案。  注释1-什么是插件呢?一个插件是使用什么样的代码构成的?  在众多的定义当中,我认为最好的定义当属Eclipse工程中所定义的:插件是一种代码贡献,它能够把代码添加到一个系统中的众所周知的扩展点处。也就是说,一个插件是一个良好定义的

  • ASP.NET 2.0中执行数据库操作命令之二

    SqlDataReader类   可以用SqlDataReader类对象从SQL Server数据库中读取行;用OleDbDataReader类对象从支持OLE DB的数据库中读行,如Oracle与Access;用OdbcDataReader类对象从支持ODBC的数据库中读取行。  DataReader对象允许你以向前的,只读的方式读取数据,有时候DataReader对象也称为消软管游标。DataReader对象采用了一种简化的数据读取方式,但是提高了性能的同时也牺牲了很多特性。例如在DataSet中支持的排序,分页等功能。这些功能将在以后的章节进行详细的介绍。  SqlDataReader的

  • C#:从DataGridView控件托放数据到TreeView控件

    实现方法,在datagridview的mousedown事件中开始 托放。然后在treeview 的 DragEnter 中接收托放。最后在treeview的 DragDrop 中处理托放结果。注:treeview的allowdrop属性要设置为 true。: 1private void dataGridView1_MouseDown(object sender, MouseEventArgs e) 2 { 3 if (e.Button == MouseButtons.Right) 4 { 5 DataGr

  • ASP.NET2.0数据操作之创建业务逻辑层

    导言   本教程的第一节所描述的数据访问层(Data Access Layer,以下简称为DAL)已经清晰地将表示逻辑与数据访问逻辑区分开了。不过,即使DAL将数据访问的细节从表示层中分离出来了,可它却不能处理任何的业务规则。比如说,我们可能不希望产品表中那些被标记为“停用”的产品的“分类编号”或“供应商编号”被更新;我们还可能需要应用一些资历规则,比如说我们都不希望被比自己的资历还要浅的人管理。另外一个比较常见的情况就是授权,比如说只有那些具有特殊权限的用户可以删除产品或是更改单价。  我们其实可以将业务逻辑层(Business Logic Layer,以下简称BLL)看作是在数据访问层和表

  • 用VS.NET 2005重构你的代码

    一. 简介  作为程序员,我们都在编写各种各样的代码,然而有些程序员编写的代码则更为优秀些。差别是显然的。编写好的代码并不是所有的开发者都能够掌握的技巧。但是,这也意味着,这种技巧能够被改进。这种技能之一就包括重构你或其他人编写的代码。VS.NET 2005包括一组有助于你掌握这一方法的特征。本文正是想讨论什么是重构以及VS.NET 2005是怎样帮助你重构你的代码的。  二. 何谓重构?  作为一个开发者,我们大家都在用一种或多种语言编写代码。然而,我们所编写的代码在组织,安排,可读性和结构方面往往不是最优秀的代码。当我们再次回顾我们的代码时,我们经常会认识到需要对之进行进一步的改进甚至在某