.net/c# - 文章列表

  • 使用Forms Authentication实现用户注册、登录 (二)用户注册与登录

      从这一部分开始,我们将通过一个实际的完整示例来看一下如何实现用户注册与登录。在介绍注册与登录之前,我们首先介绍一下如何判断用户是否已登录,并未后面的示例编写一些基础代码。判断用户是否已经登录  首先,在Web站点项目中添加一个MasterPage,例如MasterPage.master。在这个母版页的ContentPlaceHolder控件之前、<From>标签之内插入如下代码:\n<asp:Panel ID=”pnlAnonymous” runat=”server”> <asp:LinkButton I

  • LINQ体验(5)——LINQ to SQL语句之Select/Distinct和Count/Sum

    LINQ体验(5)——LINQ to SQL语句之Select/Distinct和Count/Sum/Min/Max/Avg \n在上一篇讲述了LINQ,顺便说了一下Where操作,这篇开始我们继续说LINQ语句,目的让大家从语句的角度了解LINQ,LINQ包括LINQ to Objects、LINQ to DataSets、LINQ to SQL、LINQ to Entities、LINQ to XML,但是相对来说LINQ to SQL在我们程序中使用最多,毕竟所有的数据都要在数据库运行着各种操作。所以先来学习LINQ to SQL,其它的都差不多了,那么就从Select说起吧,这个在编写

  • 使用Forms Authentication实现用户注册、登录 (三)用户实体替换

    IPrincipal和IIdentity\n  通过查阅文档,我们可以看到HttpContext.User属性的类型是IPrincipal接口。然而我们知道,接口通常是不能直接访问的,其背后必定隐藏了一个实现了该接口的对象。那么这个实际对象的类型是什么呢?\n  让我们在前面示例的MasterPage的Page_Init方法上加一个断点,再次运行程序,可以得到HttpContext.User属性的真正类型是System.Security.Principal.GenericPrincipal。\n  查看IPrincipal接口的定义,可以看到它只有一个公开属性——Identity,其类型是这里

  • 利用UrlRewrite,asp.net动态生成htm页面

    前段时间做项目,一直都在寻找一种动态生成htm页面的方法,要求配置简单,和项目无关。功夫不负有心人,终于被我找到了,只需要在web.config中进行简单配置,就可以达到动态生成静态页面的效果,同时又不影响Url重定向。web.config中需要注意的配置节为<configuration>、<RewriteConfig>、<httpModules>、<httpHandlers>,在这些配置节里边都有注释,容易看懂。<?xml version=”1.0″ encoding=”utf-8″?&gt

  • 使用ascx和Div来扩充列表框选择功能

    在项目开发中,我们经常会通过使用列表框或组合框来解决选择问提。但在列表框中,容纳的信息实在是有限,而且显示的条目也不能一次性太多,那样对用户的操作也会造成不便。有时可以通过用其它控件来替换掉列表框的展现部分,比如使用DataView或DataList控件等,这可用自定义控件或用户控件来完成,这里介绍一个常用的简单方法(使用用户控件)。源码下载方法是:先建立一个ascx控件.\n(1)ascx控件中再分出”txtDiv”和”listDiv”两个Div层.“txtDiv”层中使用Css将内嵌的Label和div等Html元素,

  • .net(C#)开发小技巧漫谈之一

    以下是我在.Net开发中总结的一些小的开发技巧,园子里的朋友大多数都是.Net程序员,相信对此都很熟悉。如果您觉得太浅显了,请不要嘲笑;如果觉得哪些地方说的欠妥,敬请斧正;如果您觉得还有什么地方没有说到位,请补充,谢谢。 这些技巧再浅显平常不过,初学者很容易忽略。相信越是越老道的程序员,越重视这些稀疏平常的技巧。 一,关于变量的命名和属性 static readonly与const的变量,作用是一样的,无论访问修饰符是不是public,还是其它(private、protected、internal),变量名称一般为大写,中间以下划线。\n<!–

  • LINQ体验(2)——C# 3.0新语言特性和改进(上篇)

    在第一篇中,知道了Visual Studio 2008新特性,从这篇开始进入此系列的第二部分——介绍C# 3.0新语言特性和改进。\n总体来说,Visual Studio 2008和.NET 3.5是建立在.NET2.0核心的基础之上,.NET2.0核心本身将不再变化(如果不了解.NET2.0的朋友,请参看MSDN或者一些经典的书籍),C# 3.0新语言特性在.NET2.0基础上进行了改进,这些改进的功能可以大大简化我们编写程序。关于C# 3.0新语言特性在博客园里的很多朋友都介绍了,我在这里简单介绍一下,记录自己所学的东西,也为后面的LINQ打下基础。\nC# 3.0新语言特性和改进包括:自

  • .Net类库中实现的HashTable

    摘要:\n这个HashTable用开放定址法解决冲突,用双散列法进行探测。装填因子过高之后使用再散列法扩充,涉及到的算法都不是很复杂,即使不使用数学工具,也可以简单的分析下 。\n本文以.net fx’s HashTable为例,回顾HashTable的基础理论。HashTable是一种能提供快速插入和查询的数据结构,无论其包含有多少Item,查询和插入操作的平均时间总是接近O(1)。HashTable理论上并不关心其所包含的item顺序,任何与顺序有关的操作例如:“find_min, find_max”,都不能有效的支持。\nHashing假如我们把一本英汉字典的5000个单

  • .net(C#)开发小技巧漫谈之二

    五,关于面向对象在项目开发中的运用 面向对象时下很火,是地球人都知道了。做为一名程序员似乎不会面向对象就显得很土。关于面向对象,如果目前还不懂,请不要在项目开发中自主运用。如果需求把握不好,颗粒度划分不好,反而得不偿失。一个优秀项目的架构绝非易事,在目前的中国做公司项目开发,没有人给你那么多的时间容你去细细思考。这时候用通用的模式开发,采用现成的类库、组件,一失为明智之举。如果开发自己的项目,倒是可以慢条斯理,以下是我的看法。仅是个人之见,仅供参考。 在.net(C#)开发小技巧漫谈之一中,第一个小技巧提倡使用getter与setter属性存取器,代替对变量直接读取

  • 关于ASP.NET 2.0的目录结构变化

      ASP.NET 2.0是采用动态编译机制的了,也就是只要添加ASPX文件和相应的CS后台代码文件,不再需要进行编译,就可以运行了。ASP.NET 2.0会去动态的编译进行。其实原理很简单的,就是ASP.NET会对应用项目的目录结构进行监控,一旦有“目录删除 ”就重启。  我在开发中,遇到了这个问题,所以把解决的方案给大家分享一下。希望对一些遇到同样问题的朋友有所帮助。\n  ASP.NET 2.0是采用动态编译机制的了,也就是只要添加ASPX文件和相应的CS后台代码文件,不再需要进行编译,就可以运行了。\n  ASP.NET 2.0会去动态的编译进行。而这种带有“监控”色彩的机制虽然带来很