
C#基本知识
文章平均质量分 68
lovelacy
这个作者很懒,什么都没留下…
展开
-
(转载)无限级分类的简单算法实现及代码重点讲解
一、前言 很多情况下二级分类已经不能满足需要了,而网上可用的多级分类的例子实在是不好找,故有此文。http://bbs.blueidea.com/viewthread.php?tid=1182243大家可以先看这个,它介绍了一种超级好的算法,反正我是看不大懂呀。二、我们要解决的问题:1、 分类算法常常表现为树的表示和遍历问题。那么,请问:如果用数据库中的一个Table来表达树型分类,应转载 2007-06-28 11:52:00 · 874 阅读 · 0 评论 -
.NET中回发或回调参数无效问题的解决
该错误的详细提示信息为:回发或回调参数无效。在配置中使用 或在页面中使用 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。目前为止遇到的出现情况有两种:一是Form嵌套,一个页面只能有一个Form,仔细检查代码就可以解决。二是在下拉菜单中使用ajax,常见于省市联动菜单,可能是由于在aspx页面赋给了下拉菜单初始Item值,在事件回发转载 2007-09-21 14:16:00 · 1168 阅读 · 0 评论 -
在 ASP.NET 中使用 SQL Server 2000 Analysis Services 和 Office XP构造 OLAP 报表设计程序
原著:Jeffrey Hasan、Kenneth Tu翻译:sages 原文出处:MSDN Magazine Oct 2003 (OLAP)原代码下载:OLAP.exe (373KB) 本文假设读者熟悉 ASP.NET 和 SQL Server。 摘要转载 2007-10-23 12:00:00 · 1950 阅读 · 1 评论 -
在ASP.Net中实现flv视频转换
实际上是利用.Net中的Process对象来实现的。 string str=@"d:/test.avi d:/test_allen.flv"; RunFFMpeg(str); //运行FFMpeg的视频解码, public void RunFFMpeg(string strCmd) { //创建并启动一个新进程 Process p = n原创 2007-11-04 14:21:00 · 984 阅读 · 0 评论 -
VS2005 制作安装程序
今天在首页看到一篇 .Net项目制作安装程序 的文章,感觉博主讲解还是令人费解(对于我这样的新手,嘿嘿),所以自己动了一下手,让自己有所映像,顺便纪录下.1.首先得有一需打包的项目,这里我就用以前的学习之笔: 2.0 接下来就要新增 安装工程(专案) : 2.1 专案生成后,界面如下: 2.2 接下来当然是要添加需打包的项目了: 说明: 1.专转载 2008-02-21 17:58:00 · 5027 阅读 · 4 评论 -
手把手教你用C#打包应用程序(安装程序)【卸载模块已添加】
1:新建安装部署项目打开VS,点击新建项目,选择:其他项目类型->安装与部署->安装向导(安装项目也一样),然后点击确定.(详细见下图)此主题相关图片如下:2:安装向导关闭后打开安装向导,点击下一步,或者直接点击完成.3:开始制作安装向导完成后即可进入项目文件夹:双击"应用程序文件夹"在右边的空白处右击,选择添加->文件,将你的做的应用程序的可执行文件和相应的类库和组件添加进来.转载 2008-02-22 10:10:00 · 2123 阅读 · 6 评论 -
如何用VS2005制作Web安装程序
网站完成后,需要部署到目标机器上,方法有很多,直接把文件Copy到目标机器上,执行SQL脚本,配置IIS,这样可以做到;也可以使用InstallShield这样到专业制作软件来打包。本篇文章是使用VS2005自带到安装部署工具来制作exe安装文件。 涉及到到内容包括:使用安装部署工具,建立数据库,配置IIS,文件操作,注册表等。参考了网上关于使用VS制作安装程序的文章。环境:Windows原创 2008-02-21 18:06:00 · 1391 阅读 · 0 评论 -
扩展GridView控件(一)——鼠标经过行时改变行的样式
介绍我们一般是通过在RowDataBound事件里编码的方式实现GridView的鼠标经过行时改变行的样式的功能。但是每次都这样做比较麻烦。所以我们来开发一个继承自GridView的控件,以扩展它的功能。通过设置其CssClassMouseOver属性来实现这样的功能。控件开发1、新建一个继承自GridView的类。/**//// /// 继承自GridView/// [ToolboxData转载 2008-02-29 15:39:00 · 1240 阅读 · 0 评论 -
(webabcd)我们来写一个继承自GridView的控件
注:除了“固定指定行、指定列”仅支持IE外,其它均同时支持IE和FF控件截图控件使用1、鼠标经过行的时候改变该行的样式,鼠标离开行的时候恢复该行的样式使用方法(设置属性): MouseOverCssClass - 鼠标经过行时行的 CSS 类名2、对多个字段进行复合排序;升序、降序的排序状态提示使用方法(设置SmartSorting复合属性): AllowSortTip - 是否启用排序提示原创 2008-02-29 15:42:00 · 954 阅读 · 0 评论 -
C#中的MessageBox的完全方案
1 --------------------------------------------------- MessageBox.Show("[文本框的文本]","标题",MessageBoxButtons.[按钮],MessageBoxIcon.[图标],MessageBoxDefaultButton.[默认按钮],MessageBoxOpation.[显示样式]); -原创 2008-02-29 14:22:00 · 1045 阅读 · 0 评论 -
扩展GridView控件(0) - 基本架构、增加事件和要点汇总
作者:webabcd介绍扩展GridView控件时采用的基本架构;为GridView控件增加自定义事件;扩展GridView控件时的要点汇总1、基本架构定义一个抽象类,每个实现扩展功能的类都要实现这个抽象类using System;using System.Collections.Generic;using System.Text;namespace YYControls.SmartGridV转载 2008-02-29 15:46:00 · 1086 阅读 · 0 评论 -
扩展GridView控件(3) - 根据按钮的CommandName设置其客户端属性
作者:webabcd/*正式版的实现 开始*/介绍扩展GridView控件:根据按钮的CommandName设置其客户端属性使用方法(设置ClientButtons集合属性):BoundCommandName - 需要绑定的CommandNameAttributeKey - 属性的名称AttributeValue - 属性的值(两个占位符:{0} - CommandArgument;{1}转载 2008-02-29 15:49:00 · 1106 阅读 · 0 评论 -
扩展GridView控件(2) - 复合排序和排序状态提示
作者:webabcd/*正式版的实现 开始*/介绍扩展GridView控件:对多个字段进行复合排序;升序、降序的排序状态提示使用方法(设置SmartSorting复合属性):AllowSortTip - 是否启用排序提示AllowMultiSorting - 是否启用复合排序SortAscImageUrl - 升序提示图片的URL(不设置则使用默认图片)SortDescImageUrl -转载 2008-02-29 15:48:00 · 970 阅读 · 0 评论 -
使用C#实现远程线程插入.
使用.NET可以实现远程线程插入吗?使用严格的C#,不借助任何其它技术.远程线程插入是不能在.NET平台上实现的.然而在shellcode技术和远程线程插入之代码插入的基础上.完全可以实现基于.NET平台的混合型远程线程插入.最终效果是这样的:用于将线程插入到其它进程的可执行程序是.NET程序(混合几百字节的机器码),用于被插入到其它进程的DLL或EXE也是纯.NET实现的.可被插入的对象是所有有转载 2008-03-27 14:50:00 · 1637 阅读 · 1 评论 -
C#中数据库操作
/******************************* * 功能:数据库操作相关 * 作者:FlashICP * 时间:2005-7-22 * ******************************/using System;using System.Data;using System.Data.SqlClient;using System.Web;namespace moban转载 2007-09-11 11:36:00 · 788 阅读 · 0 评论 -
在C#中操作XML (增删改)
已知有一个XML文件(bookstore.xml)如下: Oberon"s Legacy Corets, Eva 5.95 1、往节点中插入一个节点: XmlDocument xmlDoc=new XmlDocument(); xmlDoc.Load("bookstore.xml"); XmlNode root=xmlDoc.SelectSingleNode("bookstore");/原创 2007-09-11 11:33:00 · 519 阅读 · 0 评论 -
探讨C#中字符串的加密
C#中字符串的加密可以用DSA和RSA,先要将字符串转换为字节数组,这与编码有关。再选择签名方式,有RSA和DSA,sign便是出来的签名结果。 可以用DSA和RSA,如: using System; using System.Text; using System.Security.Cryptography; class dsacrypto_SignData { public原创 2007-07-15 20:05:00 · 476 阅读 · 0 评论 -
C#开发的两个基本编程原则的深入讨论
使用属性,避免将数据成员直接暴露给外界 学习研究.NET的早期,经常碰到一些学习C#/.NET的朋友问,要属性这种华而不实的东西做什么?后来做项目时也时常接到team里的人的抱怨反馈,为什么不直接放一个public字段?如: class Card{ public string原创 2007-07-15 19:36:00 · 581 阅读 · 0 评论 -
ASP.NET网络编程中常用到的27个函数集
1、DateTime 数字型 以下是引用片段: System.DateTime currentTime=new System.DateTime(); 1.1 取当前年月日时分秒 currentTime=System.DateTime.Now; 1.2 取当前年 int 年=currentTime.Year原创 2007-07-16 19:37:00 · 491 阅读 · 0 评论 -
c#多线程:线程池和异步编程
我们将在这里进一步讨论一些.NET类,以及他们在多线程编程中扮演的角色和怎么编程。它们是: System.Threading.ThreadPool 类 System.Threading.Timer 类 如果线程的数目并不是很多,而且你想控制每个线程的细节诸如线程的优先级等,使用Thread是比较合适的;但是如果有大量的线程,考虑使用线程池应该更好一些,它提供了高效的线程管理机制来处理多任务。原创 2007-07-25 11:49:00 · 897 阅读 · 0 评论 -
在C#中应用哈希表(Hashtable)
一.哈希表(Hashtable)简述在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似key/value的键值对,其中key通常可用来快速查找,同时key是区分大小写;value用于存储对应于key的值。Hashtable中key/value键值对均为object类型,所以Hashtable可以支持任何类型的ke原创 2007-08-01 12:33:00 · 611 阅读 · 0 评论 -
Visual C#中的多线程编程---THREAD类,THREADPOOL类,TIMER类
Visual C#中的多线程编程——(THREAD类,THREADPOOL类,TIMER类)C#是.Net平台的通用开发工具,它能够建造所有的.Net应用。在.Net中所有线程都运行在应用程序域(AppDomain)中,这也许让你想到Win32进程,实际上它们还是有很大的不同。应用程序域提供了一种安全而通用的处理单元,公共语言运行库可使用它来隔离应用程序。注意在.Net中应用程序的原创 2007-08-02 14:31:00 · 5782 阅读 · 0 评论 -
C# 中多线程的知识
随着对多线程学习的深入,你可能觉得需要了解一些有关线程共享资源的问题. .NET framework提供了很多的类和数据类型来控制对共享资源的访问。 考虑一种我们经常遇到的情况:有一些全局变量和共享的类变量,我们需要从不同的线程来更新它们,可以通过使用System.Threading.Interlocked类完成这样的任务,它提供了原子的,非模块化的整数更新操作。 还有你可以使用System.原创 2007-08-03 17:32:00 · 851 阅读 · 0 评论 -
C#语法入门
1、大小写区别2、在C#中的布尔类型为bool,而JAVA为boolean3、C#有一个不安全模式,在此模式之下可以使用指针4、有枚举类型5、代理和索引器6、运算符重载7、没有throws关键字下面开始C#之行。在开始学习C#之前,先了解下C#语句的特点:1. C#是区别大小。2. 每一句都以分号结束,不象VB.NET。3. 多个语句通过分号可以写在一行,不过不推荐,因为不清晰。OK,原创 2007-05-09 10:45:00 · 645 阅读 · 0 评论 -
基于.NET的多线程编程入门
简介 多线程在构建大型系统的时候是需要重点关注的一个重要方面,特别是在效率(系统跑得多快?)和性能(系统工作正常?)之间做一个权衡的时候。恰当的使用多线程可以极大的提高系统性能。 什么是线程? 每个正在系统上运行的程序都是一个进程。每个进程包含一到多个线程。进程也可能是整个程序或者是部分程序的动态执行。线程是一组指令的集合,或者是程序的特殊段,它可以在程序里独原创 2007-08-14 13:14:00 · 823 阅读 · 0 评论 -
ASP.NET2.0打通文件图片处理任督二脉
1.最简单的单文件上传(没花头)2.多文件上传3.客户端检查上传文件类型(以上传图片为例)4.服务器端检查上传文件类型(以上传图片为例) 5.服务器端检查上传文件类型(可以检测真正文件名) 6.上传文件文件名唯一性处理(时间戳+SessionID)7.上传图片生成等比例缩略图8.上传图片加水印(文字水印,图片水印,文字+图片水印)9.1.最简单的单文件上传(没花头)效果图:说明:这是最基本转载 2007-08-17 20:06:00 · 876 阅读 · 0 评论 -
c# MD5加密算法的一个实例
环境:vs.net2005/sql server2000/xp测试通过1.MD5 16位加密实例 SAAS using System;using System.Collections.Generic;using System.Text;using System.Security.Cryptography; namespace md5{ class Program {原创 2007-09-11 11:23:00 · 621 阅读 · 0 评论 -
汇总c#.net常用函数和方法集
1、DateTime 数字型 System.DateTime currentTime=new System.DateTime(); 1.1 取当前年月日时分秒 currentTime=System.DateTime.Now; 1.2 取当前年 int 年=currentTime.Year; 1.3 取当前月 int 月=currentTime.Month; 1.4 取当前日 int 日=curr原创 2007-09-11 11:32:00 · 595 阅读 · 0 评论 -
C#多线程编程实例实战(2)
释放阅读锁的函数原型为:public void ReleaseReaderLock()。函数定义如下: public void ReleaseReaderLock() { System.LocalDataStoreSlot slot = Thread.GetNamedDataSlot(m_strThreadSlotName ); LockFlags flag = (LockFlags)Thr原创 2007-09-11 12:52:00 · 716 阅读 · 0 评论 -
C#中拆分字符串
最近经常看到论坛中许多帖子询问如何使用split来分割字符串,我这里对split做一些简单的总结,希望能够对大家有所帮助。下面介绍几种方法:第一种方法:打开vs.net新建一个控制台项目。然后在Main()方法下输入下面的程序。 string s="abcdeabcdeabcde"; string[] sArray=s.Split(c);原创 2008-04-26 01:02:00 · 6801 阅读 · 5 评论