
.NET/C#
文章平均质量分 80
banny
自由职业者,程序爱好者,软件民工
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C#委托的使用
<br /><br />委托适用于那种在某些其他语言中需用函数指针来解决的情况(场合)。但是,与函数指针不同,委托是面向对象和类型安全的。<br />委托声明定义一个类,它是从 System.Delegate 类派生的类。C#委托实例封装了一个调用列表,该列表列出了一个或多个方法,每个方法称为一个可调用实体。对于实例方法,可调用实体由一个实例和该实例的方法组成。对于静态方法,可调用实体仅由一个方法组成。如果用一组合适的参数来调用一个C#委托实例,则该C#委托实例所封装的每个可调用实体都会被调用,并且用的都是转载 2010-12-31 18:42:00 · 1032 阅读 · 2 评论 -
vici mvc开发第六篇——Form Basics
<br />一、Form Basics<br />普通的web框架是没有简单并且灵活的形式处理,但是VICI提供了这些,远远地抛弃了在asp.net中臭名昭著的视图状态。<br />二、How forms work in Vici MVC<br />在HTML中form是定义在<form>标签内的控件集合,它可以通过点击<submit>按钮提交到服务器。若要查看发布窗体的内容,您可以可以阅读 PostData 集合,其中直接映射到 ASP.net的 Request.Form 集合。虽然这是一种查看表单数据的原创 2011-05-01 15:01:00 · 945 阅读 · 1 评论 -
vici mvc开发第八篇——Controls(控件)
<br />一、Controls<br />通过前面的教程我们已经知道,vici mvc可以呈现一个绑定在某一个类中某个字段的控件,你只需要通过在某个字段上添加属性,告诉框架呈现哪个控件,这么呈现等。<br />你也可以明确的创建一个控件用来在视图里呈现,例如:<br />TextControl control = new TextControl("Name");control.HandlePostback(); // if there is a postback, the原创 2011-05-04 13:37:00 · 747 阅读 · 0 评论 -
vici mvc开发第七篇——Form Validation
<br />一、Form Validation<br />vici mvc包括 HTML 窗体的一种非常强大和灵活的验证机制。在上一节中所示,我们知道可以通过三种不同的机制来验证窗体。您可以任意组合所有这些机制来验证一个单个窗体。<br />可以按如下方法验证:<br />1、验证字段的属性<br />2、特定字段的字段验证方法<br />3、全局验证方法<br />二、Validation using attributes<br />在每一个WebForm的继承类里,你可以定义一些特殊的验证属性,如下原创 2011-05-02 10:52:00 · 1018 阅读 · 0 评论 -
vici mvc开发第十篇——Javascript inclusion(添加Javascript)
vici mvc鼓励分离代码和标记,所以对于 javascript 也是如此。javascript代码实际上是代码,而不是标记,所以它并不真正属于HTML 模板中。vici mvc容许你动态地将javascript 潜入要呈现的视图中。你可以在控制器(controller),控件(controls),和组建( components)中完成这些操作。您可以 从字符串、 文件或嵌入的资源嵌入 javascript。下面方法都是可用的: RegisterJavascript(string key, bo原创 2011-05-06 00:52:00 · 811 阅读 · 0 评论 -
vici mvc开发第十二篇——Configuration(配置)
<br />其实这一章应该在开始程序设计前要看懂,也是必须要搞明白的,之所以把他放在了后面,也是按教材走的,大家留心即可。<br />在vici mvc中有几个配置设置比较重要,你可以在web.config中设置,也可以在应用程序(application's Init())中设置。<br />在web.config中你可以在 <appSettings>标签下按照“key/value”格式来设置,key的设置以“Mvc”开头,如下面:<br /><appSettings> <add key="Mvc原创 2011-05-06 01:26:00 · 699 阅读 · 0 评论 -
vici mvc开发第九篇——Custom Controls(自定义控件)
<br />一、Creating a custom control class<br />vici mvc框架容许你创建自己的控件,这些控件你可以在任何时候调用,也可以绑定到任何一个窗体,当然这个窗体必须与控件建立一些关系。<br />为了创建自定义控件,你需要继承抽象的control类并且重写 GenerateHtml(), HandlePostback()和数据库方法。<br />下面是一个我们写的一个简单的自定义控件:<br />public class CustomTextBoxControl :原创 2011-05-06 23:47:00 · 1028 阅读 · 0 评论 -
vici mvc开发第十一篇——Embedded Resources(潜入资源)
vici mvc核心支持往浏览器潜入资源。如果你需要在你的项目中潜入资源,你可以调用下面的方法来生成一个url.ResourceHelper.CreateResourceUrl(assembly, resourceKey, contentType);1、assembly 通过Assembly.GetExecutingAssembly()方法获取当前的程序集2、resourceKey 资源名称,一般是 "Namespace.Path.FileName.Extension"3、contentType MIME原创 2011-05-06 01:06:00 · 750 阅读 · 0 评论 -
C#把sql server里是数据导出到excel
在c#里关于数据的导入导出微软提供了很多接口,就比如 把sql server里是数据导出到excel,微软就提供了Microsoft.Office.Interop.Excel类来实现这些, 有牛人封装好了这些方法,比如GemBox.ExcelLite.dll,下面我们就用这个来实原创 2011-07-16 13:46:43 · 2514 阅读 · 1 评论 -
c# 利用Time实现定时启动程序
/// /// 定时器 /// public void TimeDo() { System.Timers.Timer aTimer = new System.Timers.Timer();原创 2011-08-03 16:11:36 · 3105 阅读 · 0 评论 -
开源项目Html Agility Pack实现快速解析Html
这是个很好的的东西,以前做Html解析都是在用htmlparser,用的虽然顺手,但解析速度较慢,碰巧今天找到了这个,就拿过来试,一切出乎意料,非常爽,推荐给各位使用。下面是一些简单的使用技巧,希望对大家有用,我个人也是个学习过程。Why Html Agility P原创 2011-08-13 01:09:50 · 4958 阅读 · 1 评论 -
c#缓存
本章导读缓存主要是为了提高数据的读取速度。因为服务器和应用客户端之间存在着流量的瓶颈,所以读取大容量数据时,使用缓存来直接为客户端服务,可以减少客户端与服务器端的数据交互,从而大大提高程序的性能。本章从缓存所在的命名空间“System.Web.Caching”开始,详细介转载 2011-08-17 19:09:33 · 664 阅读 · 0 评论 -
OAUTH协议简介
摘要:OAUTH协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此OAUTH是安全的。同时,任何第三方都可以转载 2011-08-23 22:27:35 · 509 阅读 · 0 评论 -
长微博工具,文转图 C#实现
一来工作需要,而来我也一直有兴趣自己写一个长微博工具,其实思想很简单,首先文转图,然后拼图。下面来贴上自己写的文转图代码,以供大家研究参考。下面这段是我封装的实现文转图的代码,里边对某个字体实际占的位符没有深入研究,按照微博的宽度440,我测试了字体为16,20,28 的占位符,有兴趣的朋友可以告知一下,有什么规律. /// /// 文字转原创 2012-03-03 23:36:04 · 2901 阅读 · 0 评论 -
模拟登录微博通,抓取新浪微博c#
在前天我到公司就接到一个惊人的消息,说是新浪1.0的搜索接口关闭了,那我们的业务岂不是受很大影响,这个事太紧急了,大家在一起商讨该怎么办,跟新浪买2.0的接口肯定时间很长,最后决定抓取新浪网页的,新浪网页未登录状态10分钟只能抓取不到200次,然后就让你手动输入验证码了,很显然,这个方案有落空了。然后我们想是否有其他的办法,后来去看孔明和微博通,这俩家居然正常跑,就把我乐坏了。稍微研究了下,发现抓原创 2012-10-18 13:34:53 · 4582 阅读 · 1 评论 -
C#实现数据批量插入
我们在操作数据库时有的时候需要多次地重复写入数据库,那么频繁地操作数据库,必然会对数据库带来很大压力,微软提供了SqlBulkCopy类来实现批量插入,也就是当你的量保存到一定值后,再一次行写入,这样对数据库的影响就基本上降到最低了。下面是我写的一个方面,仅供大家参考,请多指正。 public static List weibomesg = new List(); ///原创 2011-06-22 17:37:00 · 1128 阅读 · 0 评论 -
vici mvc开发第五篇——调用ajax
一、Native Ajax SupportVici MVC支持AJAX调用,这意味着你可以在javascript中调用服务器方法,这种情况同样可以出现在 controllers, view components, forms and controls。借助ajax插件,框架将会在呈现的HTML中自动javascript 调用和申明。ajax插件将从客服端调用服务器方法,并且处理必要的管道。 Vici MVC中自带的ajax插件是: jQuery 1.2 and higer如果你要调用其他的ajax提供者原创 2011-04-26 11:27:00 · 919 阅读 · 1 评论 -
vici mvc 开发事例——调用ajax实现分页
在这篇博文中,我们会用到jquery 分页插件pagination,vici 自带了调用ajax的方法,我们抛弃以前用控件的习惯,来自己写一个分页后台。首先我来讲一下这个分页插件: $("#Pagination").pagination(num_entries, { num_edge_entries: 2, num_display_entries: 8, callback: pageselectCallback,原创 2011-04-26 00:20:00 · 1037 阅读 · 0 评论 -
C#常用三种设计模式
<br /> 一、单件模式<br />动机(Motivation):<br /> 在软件系统中,经常有这样一些特殊的类,必须保证它们在系统中只存在一个实例,才能确保它们的逻辑正确性、以及良好的效率。<br /> 如何绕过常规的构造器,提供一种机制来保证一个类只创建一个实例?<br /> 这应该是类设计者的责任,而不是类使用者的责任。<br /> <br />意图:<br /> 保证一个类仅有一个实例,并提供一个访问它的全局访问点。<br />原创 2011-01-02 18:47:00 · 5989 阅读 · 0 评论 -
C#委托事件及自定义事件的处理
<br /><br />委托类似于函数指针,但函数指针只能引用静态方法,而委托既能引用静态方法,也能引用实例方法。<br />委托使用分三步:1、委托声明;2、委托实例化;3、委托调用。<br />例程一:<br />程序代码<br />using System; namespace 委托 { delegate int NumOpe(int a,int b); //第一步:委托声明 class Class1 { sta转载 2010-12-31 19:58:00 · 594 阅读 · 0 评论 -
c#信息抓取二:HTMLParser.net使用详解
<br />第一步还是添加引用,在上文已经说过,不再赘述。<br />代码:<br />using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using Winista.Text.H原创 2011-01-11 12:48:00 · 5753 阅读 · 1 评论 -
c#协变与逆变
<br />一、两个概念:强类型与弱类型<br /> <br />为了后面叙述方便,我现在这里自定义两个概念:强类型和弱类型。在本篇文章中,强类型和弱类型指的是两个具有直接或者间接继承关系的两个类。如果一个类是另一个类的直接或者间接基类,那么它为弱类型,直接或者间接子类为强类型。后续的介绍中会用到的两个类Foo和Bar先定义在这里。Bar继承自Foo。 Foo是弱类型,而Bar则是强类型。<br /> <br /> 1: public class Foo<br /> 2: {<br /> 3:转载 2011-01-16 15:45:00 · 611 阅读 · 0 评论 -
vici mvc开发第十三篇——Components(组建)
<br />一、View Components<br />View Components跟controller(控制器)的功能类似,只有一下几点不同:<br />1、View Components由template调用,他的输出结果也直接呈现在最后被呈现的网页中。<br />2、如果 View Components被一个template调用,那么最后呈现的仅仅是这个template<body></body>闭合标签内是内容,不会设计到母板。<br />3、View Components不一定非要使用temp原创 2011-05-10 00:14:00 · 952 阅读 · 3 评论 -
8bit,16bit,单精度浮点数数组分别写入十六进制文件
毕设弄这个,愁了很长时间,后来发现自己从一开始就理解错了,才浪费了这么多时间,现在把下面我写的三个方法贴出来,对大家也许有用。 /// /// 把float数组以十六进制写进文件 /// /// 文件路径 /// 被写进文件的数据 /// 模式,默认是追加 public void InsertFloatTo(string path,float []data_f,FileMode mode=File原创 2011-05-11 21:44:00 · 2151 阅读 · 0 评论 -
vici框架写的留言板
<br />下面是我用vici框架写的留言板,很简单,主要是学习vici,入门还是有必要的。<br />guestbook.htm:<br /><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head> <tit原创 2011-05-14 12:50:00 · 1375 阅读 · 1 评论 -
asp.net 网页间传递参数
<br />很多初学者,都要用到俩个网页间传递参数的问题,总的来讲有三种方法,下面我做了下总结:<br />一、使用Querystring <br />Querystring是一种非常简单的传值方式,其缺点就是会把要传送的值显示在浏览器的地址栏中,并且在此方法中不能够传递对象。如果你想传递一个安全性不是那么太重要或者是一个简单的数值时,用此方法最好不过了。下面通过一个小例子来完成传值工作,步骤如下: <br />1、创建一个web form <br />2、在新建的web form中放置一个button1,原创 2011-03-26 22:55:00 · 667 阅读 · 1 评论 -
两个窗体(form)间传递参数
<br />窗体之间传递参数总结:<br />方案一: 窗体属于类,可以在窗体类中定义已全局变量,类型为公开、静态的。<br />示例: public static string str ="";<br /> 注意是静态变量,如果为:<br /> public string str = "";<br /> 可能会出现问题,非静态变量只能实例化对象后,才可以访问,如果该值为动态赋值的话,当别的窗口调用的时候,该值 str,一直是为"";所以说最好能设置为静态成员变量,用类来转载 2011-05-22 22:37:00 · 1401 阅读 · 0 评论 -
bitmap生成图片和RGB处理
<br /> /// <summary> /// 单精度浮点数生成图片 /// </summary> /// <param name="fdata">源数组</param> /// <param name="width">宽</param> /// <param name="height">高</param> /// <returns></returns> public stati原创 2011-05-26 18:47:00 · 2188 阅读 · 0 评论 -
vici mvc开发第三篇——视图和布局
一、模版的基础 通过上面的教程,我们已经知道,每一个控制器(Controller)都会呈现一个视图。一个视图实际上有俩个模版组成:框架模版和视图模版。框架模版相当于母板。 下面是一个框架模版:Page Title{{@View}}© 2007 Me {{@View}}标签作为主体内容将会被视图模版替换,主体就是指这一块内容。 下面是一个视图模版:View TitleHello everyone! 最后呈现的网页是下面这个样子:原创 2011-04-22 02:10:00 · 1752 阅读 · 1 评论 -
vici mvc开发第一篇——建立你的项目
<br /> vici mvc是国外一个开源的.net开发框架,他抛弃了.net的控件,解脱了.net web 开发人员前台后台一起写的困惑,mvc 三层结构的分层又让我们大大提高了编程的效率,和代码的重用性。目前,.net 自带的mvc框架很受欢迎,但我们细心会发现很多大的公司都开发了自己的框架,比如csdn,和我本人熟悉的公司红马传媒。近期时间比较充裕,网上找了一下目前开源的.net mvc框架,着实不多,起码国内没有,vici是一个很不错的,百度谷歌均找不到完整地英文翻译教材,自己搞了一段时原创 2011-04-20 15:07:00 · 1942 阅读 · 2 评论 -
vici mvc开发第二篇——控制器(Controller)
<br /> 一、基础 <br /> <br /> 在vici mvc WEB 应用程序里,没发送一个网页请求首先经过它对应的控制器的Run方法。这个方法一般有接受请求,执行方法,显示静态网页的功能。<br /> <br /> 控制器类应该继承Controller:<br /> public class HomePage : Controller{ public void Run() { }}<br /> 请注意 public void R原创 2011-04-21 14:41:00 · 1180 阅读 · 0 评论 -
vici mvc开发第四篇——Url映射
<br /> 在vici mvc v2.0中,一个灵活地url映射机制是非常有必要的,因为它能让你把任何url映射到任何控制器(Controller),也可以在URL中添加参数传递。<br /> url映射设置有下面俩种方法:<br /> 1、在Application's Init()方法中添加映射关系<br /> 2、在控制器类或者方法上添加[url]属性<br />一、Adding entries to the routing table manually<br /> 在原创 2011-04-22 17:54:00 · 1084 阅读 · 0 评论 -
c#信息抓取一:抓取网页源代码
大家拿到代码了首先要去网上下载一个HTMLParser.NET,目前最高版本是2003的,谨记你的VS版本一定不能是2010的,2005和2008都可以。找到动态链接库,然后在项目里添加引用就OK了。源代码:using System;using System.Collections.Generic;using System.ComponentModel;using System.Da原创 2011-01-11 12:44:00 · 3468 阅读 · 4 评论