.net/c# - 文章列表

共 169 页

  • 当ASP.NET撞上JSF之构建应用程序的异同

    理想情况下,ASP.NET和JSF web页面应该包含很少的代码而且只是包含必要的HTML和标签来生成页面的组件,一个页面的事件逻辑驻留于代码文件中。在ASP.NET中,每个web页面与一个相应的子类化页面ASP.NET类的.NET类文件相关联。有时,这些文件被引用为”code-behind”文件。在JSF中,每个web页面都有一个相关联的支持JavaBean类。ASP.NET的code-behind文件和JSF支持bean都包含页面属性(例如标签和输入域)。JSF bean是用Java编写的,而ASP.NET code-behind文件可以使用任何.NET语言(例如V

  • ASP.NET 2.0服务器控件开发之复杂属性

    在上一篇文章中,曾经提及“复杂属性”的概念。复杂属性的最大特征是属性的类型是本身具有属性(称为子属性)的类。通常情况下,复杂属性表现为3种形式:连字符形式属性、内部嵌套形式属性和内部嵌套形式默认属性。本文将介绍以上3种形式复杂属性的具体实现方法。  1. 实现连字符形式复杂属性  连字符形式属性是比较常见的复杂属性。我们常用的Font属性就是一个复杂属性,其包括多个子属性,如Bold、Name等。这种类型属性具有两种语法格式:一种是利用连字符语法,在控件的开始标记中保存子属性,例如,Font-Bold,Font-Name。另外一种格式是在控件的标记中保存子属性,例如,<font Bold=&#

  • 当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.