编程技巧 - 文章列表
-
当ASP.NET撞上JSF之框架比较
使用经典的ASP或JSP技术构建应用程序经常意味着与HTML标注混合编码。然而,在创建这些技术的初期,与其以前使用的方法相比,这些平台为构建web应用程序提供更多的优势。JSP和ASP都提供了相似的对象模型,例如在JSP和ASP应用程序中都可以使用包括Request,Response和Session等对象。现在,在隐蔽处理HTTP协议的无状态特征所带来的复杂性方面还没有出现真正的软件尝试。 ASP.NET和JSF框架都是基于组件和事件驱动的。也就是说,在一个表单上的组件通过激活应用程序事件来响应用户行动。这些事件为开发者编写代码从而实现必要的逻辑提供了机会。这与JSP和ASP基于“请求驱动”
-
C# 3.0新特性初步研究 Part1:使用隐含类型的本地变量
C# 3.0给我们带来了很多新特性,其中增加了很多“动态”内容,让我们使用起来更加Sharp!\n我在这里简单的介绍一下C# 3.0规范中的一些“新鲜”内容,小弟才疏学浅,望大家海涵!\nPart1:使用隐含类型的本地变量\n在C#3.0之前的C#语言中,我们在声明变量的时候都必须显式的指定变量类型(int,string之类的)我们一般都是这样写的:1static void InitAndPrint() 2{ 3 int x = 7; 4 string s = “This is a string.”; 5 double d = 99.
-
ASP.NET2.0中的AccessDataSource控件
ASP.NET 2.0包含了AccessDataSource控件,用来从Access数据库中将数据提取至ASP.NET 2.0(.aspx)页面。这个控件拥有的属性很简单。AccessDataSource的最重要的属性是DataFile属性,用来指向硬盘上MDB文件的路径。AccessDataSource拥有的其他属性还有SelectCommand,用来设定一个显示需要返回的结果集(表和列)的语句。SelectCommand必须使用SQL语法来定义。 在VWD中,可以用两种方式来添加AccessDataSource控件至页面。如果MDB文件像前面的示例中那样被添加至Database Expl
-
C# 3.0新特性初步研究 Part2:使用扩展方法
扩展方法(Extension Method)可以为已有的类型添加新的方法定义和实现,比如int类型目前没有一个名叫xxxyyy()的方法,那么通过使用扩展方法,我们可以为int类型添加一个xxxyyy()方法。这个有点类似于用来扩展系统功能的某些设计模式。\n下面我们用代码来说话:这是我们以前的写法:1public static class Extensions 2{ 3 public static string CamelCase(string identifier) 4{ 5 string newString = “”; 6
-
ASP.net:Literal控件用法
刚开始学.NET的朋友可能不清楚Literal和Label到底有什么区别,其实它们也只有一个区别,就是在转换成客户端Html代码后,Label就成了<span></span>,而Literal则是什么标记都不带,下面进入正题: 昨天做一个网站的视频新闻管理,首先我要在页面里添加一个播放器,如下:\n1<OBJECT height=288 width=384 classid=clsid:cfcdaa03-8be4-11cf-b84b-0020afbbccfa VIEWASTEXT>2<PARAM NAME=”_ExtentX”
-
C#箴言:定义常量的两种方法
在C#中定义常量的方式有两种,一种叫做静态常量(Compile-time constant),另一种叫做动态常量(Runtime constant)。前者用“const”来定义,后者用“readonly”来定义。 对于静态常量(Compile-time constant),它的书写方式如下: public const int MAX_VALUE = 10; 为什么称它为静态常量呢,因为如上声明可以按照如下理解(注意:如下书写是错误的,会出编译错误,这里只是为了方便说明)。 public static const int MAX_VALUE = 10; 用const定义的常量,对于所
-
C# 3.0新特性初步研究 Part3:使用拉姆达表达式
拉姆达表达式(Lambda Expression)可以算是一种匿名方法的实现吧。\n在C# 2.0中引入了匿名方法的概念,我们可以写下如下代码: 1class Program 2{ 3static void TestLambdaExpression() 4{ 5 List<int> list = new List<int>(); 6 7 list.Add(1); 8 list.Add(2); 9 list.Add(3);10 list.Add(4);1112 List<int> evenNumbers = lis
-
ASP.Net防止刷新自动触发事件的解决方案
使用asp.net,在刷新页面的时候会自动触发服务器端的事件。举个简单的例子,如:一个注册页面,我们填写完注册信息之后,如果按F5刷新之后,会自动触发到Button事件上,这样就造成了又注册了一次的麻烦。\n 我先前的解决方案:用关键字查询,如有相同,则提示已有此用户。\n 但是这种方案不能在没有表识的情况下使用,他会重新提交。鉴于此,我寻找了一种新的解决方案,很庆幸,在朋友的提点下,迸发了这样的解决方案,肯定有更好的解决方案,不吝赐教。\n 解决思路:刷新时,捕捉KeyPress,让他触发其他无用的事件。\n 1、捕捉F5事件的JavaScript\nwindow.document.
-
当ASP.NET撞上JSF之模板化、式样和主题
模板化 把一个web页面中的跨越多个不同页面的通用部分独立出来经常是很有好处的,这样就可以实现内容重用和不会出现标注的重复问题。应用程序页眉和页脚就是跨越你的网站重用页面部分的最好实例。模板化鼓励你定义一种”模板”页面-你使用它来仅代替在页面间不断改变的内容,而让其它的内容保持相同。JSF没有提供的内置的模板化支持。在J2EE web应用程序开发中使用的一种流行模板是Struts Tiles工程。Tiles也可以与JSF一起使用。Java Studio Creator,还有其它的JSF工具,都提供了它自己的重用页面内容的支持。你可以在此处找到一部有关于怎样使用Stud
-
C# 3.0新特性初步研究 Part4:使用集合类型初始化器
集合类型初始化器(Collection Initializers)\n想看一段“奇怪”的代码: 1class Program 2 { 3 static void Main(string[] args) 4 { 5 var a = new Point { x = 10, y = 13 }; 6 var b = new Point { x = 33, y = 66 }; 7 8 var r1 = new Rectangle { p1 = a, p2 = b }; 9 Conso