![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C# ASP.NET
文章平均质量分 59
lulu_jiang
这个作者很懒,什么都没留下…
展开
-
C# 后台线程,前台线程
<br />class Program{ static void Main(string[] args) { /* 后台线程 * 只要有一个前台线程运行,应用程序就在运行 * 多个前台线程运行,Main()方法结束,应用程序的进程是激活的,直到前台线程完成任务 * 默认:Thread类创建的线程是前台线程,线程池中的是后台线程 */ Thread t1 = new原创 2010-06-24 13:55:00 · 3479 阅读 · 2 评论 -
url重写功能
先下URLRewriter.dll丢入Bin文件夹修改Web.config配置文件~/BlogIndex_(.*)_(/d+)/.aspx~/BlogIndex.aspx?c_id=$2&name=$1~/(/d+)/.aspx原创 2010-09-16 10:55:00 · 741 阅读 · 0 评论 -
c# Windows身份验证,Sql Server身份验证连接字符串
<br />//sql server 身份验证 连接字符串private string ConnstrSqlServer = "server=服务器名称;uid=登录名称;pwd=登录密码;database=数据库名称";//windows 身份验证连接字符串private string ConnstrWindows = "server=服务器名称;database=数据库名称;Trusted_Connection=SSPI";原创 2010-10-09 11:48:00 · 7826 阅读 · 1 评论 -
C# 转换运算符:implicit(隐式),explicit(显示)
<br />using System;namespace ConsoleApplication1{ //神仙类 class Immortal { public string name; //构造函数 public Immortal(string name) { this.name = name; } //im原创 2010-10-19 16:05:00 · 3603 阅读 · 0 评论 -
C# ReferenceEquals,equals,==区别
ReferenceEquals:永远比较2个引用对象所指向的地址是否相同,是比较引用对于2个值类型,ReferenceEquals永远都为false,因为使用ReferenceEquals(object a,object b)方法后值类型被重新装箱为新的引用类型实例,自然不会引用相等。对于2个引用类型,ReferenceEquals则会比较它们是否指向同一地址。Equals:永远比较2个对象(无论引用,非引用)的值是否相等,是比较值==:对于引用对象比较其引用(string引用类型除外,string是比较值原创 2010-10-21 15:59:00 · 2685 阅读 · 1 评论 -
C# 序列化
序列化:将一对象保存到存储介质或将对象进行转换,使其在网络上传送的行为能对一类进行序列化的条件是:该类任何基类可序列化,该类应用了Serializable特性常用于:1.配置程序加载,保存2.分布式计算.NET中有3种序列化机制:1.二进制序列化(System.Runtime.Serialization.Formatters.Binary, BinaryFormatter) 类型数据可准确表示2.XML序列化(System.Xml.Serialization, XmlSerializer) 只序列化原创 2010-10-22 10:55:00 · 838 阅读 · 0 评论 -
C# 索引
索引器又称为带参数的属性,声明方式于属性相似但索引的名称必须是关键字this,后一定接方括号[],[]间指定索引参数索引器不能被定义为静态成员,只能为实例成员//Team类实现一个索引器class Team{ private string[] member; //索引器名称必须this关键字 public string this[int index] { get { return member[index]; } set {原创 2010-10-25 14:07:00 · 1352 阅读 · 0 评论 -
C# Server.Transfer传值方式
<br />//页面CreateFilePath.aspx.cspublic partial class CreateFilePath : System.Web.UI.Page{ //要传给Default.aspx页面的值 public string Name { get { return "ffff"; } } protected void Page_Load(object sender, EventArgs e)原创 2010-10-27 16:11:00 · 2985 阅读 · 2 评论 -
C#的代码分离和任意嵌套
代码分离是.net时代所提倡的,所以我们如果还按照asp时的任意嵌套方式就不好了。那样界面和功能的改动都回很麻烦,所以我们都是按照代码分离的方式写的。我总结,却又你提到的两种方式。我认为低一种叫后代吗模块即一个.aspx文件和一个.cs(.vb)文件,.aspx中写的是界面,所有的功能逻辑都写道.cs中。这种情况一般都用在什么情况呢。我认为是用vs.net作为开发环境的时候,因为这是你创建一个web窗体的时候会自动帮你创建,这个.cs而且这是在.cs中写代码回有代码提示功能,所以效率会很高。当然不利于更熟练转载 2010-12-23 14:15:00 · 1446 阅读 · 0 评论 -
c# 绑定树控件
<br />用树节点绑定Board.xml中的版面信息<br /><Boards> <Board ID="0" Name="首页" ParentID="-1" /> <Board ID="1" Name="生活" ParentID="0" /> <Board ID="2" Name="编程" ParentID="0" /> <Board ID="3" Name="词典" ParentID="0" /> <Board ID="4" Name="明星" ParentID="1" /原创 2010-08-28 11:46:00 · 2900 阅读 · 0 评论 -
C# Request.Params
<br />使用Request.Params["id"]来获取参数是一种比较有效的途径。<br /><br />有三种方式可以进行参数传递:(1). Form (2). ?id= (3).cookie<br /><br />request.params其实是一个集合,它依次包括request.querystring、request.form、request.cookies和request.servervariables。<br /><br />如果要在两个页面传递数据的话,只能用request.qu原创 2010-08-18 14:04:00 · 2865 阅读 · 0 评论 -
XPath语法
<br /><?xml version="1.0" encoding="ISO-8859-1"?><bookstore><book> <title lang="eng">Harry Potter</title> <price>29.99</price></book><book> <title lang="eng">Learning XML</title> <price>39.95</price></book></bookstore><br />原创 2010-08-17 17:22:00 · 651 阅读 · 2 评论 -
C#反射结合System.Type类实例
namespace myNameSpace{ class Program { static void Main(string[] args) { /* TypeView示例 star */ Type t = typeof(myClass); AnalyzeType(t);原创 2010-06-21 14:57:00 · 4472 阅读 · 0 评论 -
C# 创建线程的简单方式:异步委托
定义一个委托调用的方法:TakesAWhile//定义委托要引用的方法private static int TakesAWhile(int data, int ms){ Console.WriteLine("开始..."); //当前线程(委托线程)阻塞ms毫秒 Thread.Sleep(ms); Console.WriteLine("完成!"); return ++data;}定义一个委托:public delegate int T原创 2010-06-24 10:26:00 · 2097 阅读 · 0 评论 -
C#反射读取类定制特性信息
先来屡屡思路:此项目又分为3个小项目:1.WhatsNewAttributes类库文件:用于定义定制特性类,标示跟新信息2.myClass类库文件:使用WhatsNew定制特性标记的类3.Checker控制台应用程序:用反射读取myClass中的公共成员方法,以及定制特性因此:myClass类库需引入WhatsNewAttributes类库编译的DLL文件 Checker控制台应用程序需引入myClass类库编译的DLL文件^-^WhatsNewAttributes类库文件using Sy原创 2010-06-21 15:30:00 · 3446 阅读 · 0 评论 -
C# 捕获异常try...catch...finally
class Program{ static void Main(string[] args) { string userInput; while (true) { try { Console.WriteLine("输入0到5:"); userInput = Console.ReadLine();原创 2010-06-22 10:36:00 · 4640 阅读 · 3 评论 -
C#嵌套try块工作原理
<br />static void Main(string[] args){ /* 嵌套try块 * try * { * //A * try * { * //B * } * catch * { * //C * } * finally原创 2010-06-22 11:32:00 · 6458 阅读 · 0 评论 -
C# 自定义异常
<br />1.自定义异常类<br />using System;namespace ConsoleApplication3{ //自定义异常类,继承ApplicationException类 class MyException : ApplicationException { //自定义异常类构造函数调用基类构造函数 public MyException(string message) : base("原创 2010-06-22 14:01:00 · 892 阅读 · 0 评论 -
c# 线程池
static void Main(string[] args){ /* 线程池 * ThreadPool类会在需要时增减池中线程个数,直到最大线程数 * 线程池中的都是后台线程 ( ^3^ )╱~~ */ int nWorkerThreads; int nCompletionPortThreads; //读取工作线程,I/O线程最大线程数 ThreadPool.GetMaxThreads(out nWork原创 2010-06-25 11:28:00 · 836 阅读 · 0 评论 -
C# params关键字
<br />params 构造函数声明数组 而不知道数组长度 用的<br />在方法声明中的 params 关键字之后不允许任何其他参数,并且在方法声明中只允许一个 params 关键字。<br />using System;<br />public class MyClass <br />{<br /><br /> public static void UseParams(params int[] list) <br /> {<br /> for (int i = 0 ; i <原创 2010-08-18 13:36:00 · 602 阅读 · 0 评论 -
csc.exe命令
C#命令行(CSC.EXE) 编译器选项(Framework 1.1) Microsoft Visual Studio .NET 2003 IDE在给我们编程带来方便的同时,也带给了我们无知,在没有vs2003的情况下怎么编译我们的C#文件呢?还是回到原始的命令行编译吧。下面我将把Framework1.1中的编译命令全部介绍一下。 第一部分:命令介绍。选项 用途 @ 指定响应文件转载 2010-11-11 16:30:00 · 1878 阅读 · 2 评论 -
高级判断文件类型
<br />平时在上传文件文件时,只允许上传jpg,gif,png等后缀的图片文件,这个可以根据文件后缀名来过滤。但是如果用户修改了后缀名来欺骗系统的话又该怎么解决?比如a.txt格式的改成a.jpg,我现在的程序就无法识别了,虽然在后台可以弹出错误,但这个错误已经不是FS上定义的错误了。<br />解决:<br />在网上查了好多资料,大部分都是通过将文件读成二进制流,取前两个字节判断,比如.jpg的是255216.代码如下:<br />public static FileExtension CheckT转载 2011-01-19 16:32:00 · 856 阅读 · 0 评论 -
ashx与axd相同点与区别
<br /><br /> <br />其实扩展名为ashx与为axd基本上是一样的,都是用于写web handler,可以通过它来调用IHttpHandler类,它免去了普通.aspx页面的控件解析以及页面处理的过程。<br />唯一不同的地方是:axd扩展名的必须要在web.config中的<httpHandlers>中进行注册,而ashx直接在项目中当成aspx那样添加使用即可。<br />所以在项目的添加文件中,向导只有添加ashx文件的模板,而没有添加axd文件的模板。那微软为什么这么无聊搞两个后缀转载 2011-02-28 16:56:00 · 1636 阅读 · 0 评论 -
C# string.Compare()方法
string.Compare方法,用来比较2个字符串值得大小 string.Compare(str1, str2, true);返回值:1 : str1大于str20 : str1等于str2-1 : str1小于str2 比较字符串是按照字符串中的字符一个个比较,只要一个字符不相同,那么就停止比较得出结果。而字符的比较则是比较其Unicode值,而非ASCII原创 2011-06-13 17:17:00 · 32840 阅读 · 5 评论 -
SqlConnection的Dispose()方法
天啦。。。救命啊。。。 一直以为SqlConnection的Dispose()方法会销毁当前创建的数据库连接对象,可是悲剧的是,他不会!!!!不会!!!!调用Dispose()后数据库连接对象任然存在,其效果跟Close()方法差不多,只是Dispose()会清空ConnectionString属性,因此再次调用Open()会报错。 太可怕了!!!! 不过好在,现在知道原创 2011-06-19 01:18:00 · 1254 阅读 · 0 评论 -
C# 线程Thread的Join()方法
线程Join()方法:让一个线程等待另一线程终结。private static void Method(){ Thread.Sleep(5000); Console.WriteLine("当前线程:" + Thread.CurrentT原创 2011-07-04 20:50:26 · 7418 阅读 · 1 评论 -
C# 排序算法
//冒泡排序public static void BubbleSort(int[] myArray){ for (int i = 0; i { for (int j = 0; j { //修改此处,改变排序次序原创 2011-07-24 13:57:15 · 528 阅读 · 0 评论 -
C# 参数传递
C#中值类型的参数按值传递,引用类型的参数按引用传递值类型的参数按值传递:int i = 22;Fun(i);//输出:22Response.Write(i);private void Fun4(int i){ i = 88;}引用类型的参数按引用传递:st原创 2011-05-09 20:48:00 · 542 阅读 · 0 评论 -
C# 结合Microsoft.Office.Interop.Excel写入Excel
using System.Reflection;using Microsoft.Office.Interop.Excel;protected void Page_Load(object sender, EventArgs e){ Application原创 2011-09-08 22:52:27 · 9497 阅读 · 0 评论 -
C# .NET Ajax控件异步跟新实例
说明:异步跟新当前页面,将页面中修改后的信息保存在历史记录点中。跳转到其他页面后,点击浏览器后退按钮。回到原来页面,触发Navigate事件,调用方法读取历史记录点还原当前页。 前台HTML结构: 搜索条件:原创 2011-08-11 17:56:26 · 2254 阅读 · 0 评论 -
C# 在Repeater 的ItemDataBound 如何转换e.Item.DataItem 的类型
1、使用DataSet和DataTable绑定数据源时,用DataRowView view = (DataRowView)e.Item.DataItem;2、DataReader绑定数据源时,用System.Data.Common.DbDataRecord vie转载 2011-09-12 14:22:07 · 2681 阅读 · 0 评论 -
c# Page.ID属性
System.Web.UI.Page类中存在公共ID属性 /************* Page类源码 *************///// 摘要:// 获取或设置 System.Web.UI.Page 类的特定实例的标识符。//// 返回结果:// System.Web.UI.Page 类的实例的标识符。[Browsable(false)]原创 2011-06-08 10:10:00 · 1419 阅读 · 0 评论 -
c# System.Type.GetType()方法
想用System.Type.GetType()方法获取不在同一个程序集中定义指定类型:/* 注意: * 此段代码属于:程序集lu.Data,命名空间lu.Data与要加载类定义于不同的程序集项目中,但都被主项目文件引用 * * * * * * * * * * * * * * * * * * * * * * * * * * 另当前项目也无需应用lu.Table程序集项目 */原创 2011-06-05 19:25:00 · 13218 阅读 · 0 评论 -
c# event关键字的意义
<br />C#中事件是基于委托。<br /> <br />不使用event关键字定义委托实例对象:<br />//定义一委托类型public delegate void MyButtonEventHandler(string msg);//定义MyButton类,模拟按钮对象public class MyButton{ //定义一委托实例 public MyButtonEventHandler Click; private string msg;原创 2011-05-28 02:24:00 · 13096 阅读 · 8 评论 -
Request.UrlReferrer返回上一页面URL地址
在使用Request.UrlReferrer时还要注意: 1. 如果上一页面使用document.location方法导航到当前页面,Request.UrlReferrer返回空值2. 如果有A,B两个页面,在浏览器中直接请求A页面,在A页面的中Page_Load事件中导航到B 页面,则 Request.UrlReferrer返回空。因为 在Page_load事件中页面还未初始化,所以无法记录当前页的信息,导航到b页面也就无法获得上一页面的信息 3. 点击刷新按钮不会改变Request.Ur转载 2011-02-15 10:03:00 · 2551 阅读 · 0 评论 -
inc文件的使用
<br />包含文件,可用于包含部分html代码<br /> <br />/Inc/html_head.inc<br /><script src="/Js/md5.js" type="text/javascript"></script><br /> <br />在需要该inc文件的地方加入:<br /><!-- #include file="/Inc/html_head.inc" --><br /> <br />便于管理<head></head>标签中要引入的css,js代码<br />原创 2011-02-15 13:23:00 · 3278 阅读 · 0 评论 -
C# 事件模型(基于委托)实例参考
流程:邮件发送成功后 ------ 触发事件 ------> 传真机开始执行相关操作定义邮件类:using System;/* 定义事件 */class MailManager{ #region 定义内部MailMsgEventArgs类型,用于记录事件附加属性 public class MailMsgEventArgs : EventArgs { //只读变量字段成员 public readonly String from,原创 2011-02-15 14:26:00 · 1639 阅读 · 0 评论 -
ValidateInput()方法
<br />HttpRequest 类使用输入验证标志来跟踪是否对通过 Cookies、Form 和 QueryString 属性访问的请求集合执行验证。ValidateInput 方法设置这些标志,以便在调用 Cookies、Form 或 QueryString 属性的 get 访问器时执行输入验证。验证的工作原理是,将所有输入数据与具有潜在危险的数据的硬编码列表进行对照检查。原创 2011-02-16 16:12:00 · 9377 阅读 · 0 评论 -
C# 定时执行任务
<br />WEB程序启动时开始执行某一定时任务,应用池回收或程序关闭后再次启动定时任务,在原本基础上继续执行(利用序列化,保存其持久性)<br /> <br />定时任务对象序列化存入数据库,需要时再从数据库取出反序列化为一实例对象进行使用。<br /> <br />序列化,反序列化对象实例,byte[]之间的转换方法:<br />/// <summary>/// 序列化一个类实例对象/// </summary>/// <param name="obj">类实例对象</param>///原创 2011-02-21 14:38:00 · 12675 阅读 · 0 评论 -
C# 同名私有变量,重写覆盖
using System;using System.Web;public class BaseClass{ protected int _a; public int a { get { return _a; } } public void Fun() { _a = 3; HttpContext.Current.Response.Write("" + a);原创 2011-05-12 16:04:00 · 2738 阅读 · 1 评论