相关知识点

发布日期:2005年9月17日|更新日期:2005年10月13日
京胜世纪整理

摘要:本文讲述网络商店开发过程中所涉及到的知识点及所使用到的相关名词。

本页内容:

命名空间 使用using指令引用命名空间 SqlCommand类 ConfigurationSettings类 protected关键字 if语句 方法 属性 SqlDataAdapter类 DataSet类 HyperLink控件 Repeater控件 Repeater类 DataBinder.Eval 方法 C#类型 值类型 引用类型 int类型 string类型 void关键字

命名空间

命名空间是由一段代码组成的脚本域,一个命名空间除了可包含其他命名空间外,还可包含类、结构、接口、枚举、委托等类型。命名空间逻辑上分隔了程序代码。

<<返回目录

使用using指令引用命名空间

使用using指令可以引用指定的命名空间,语法为:

using namespace;

namespace为指定命名空间的名称,通过饮用命名空间,我们可以直接访问该命名空间中的类、方法、属性等,而不必在引用时加上命名空间的名称。

例如:

using system;
namespace NameSpace1
{
public class MyClass
{
public override string ToString()
{
return "You are in NameSpace1.MyClass";
}
}
}

namespace NameSpace2
{
class MyClass
{
public override string ToString()
{
return "You are in NameSpace2.MyClass";
}
}
}

namespace NameSpace3
{
using NameSpace1;
class Test
{
public static void Main()
{
MyClass somevar = new MyClass();
Console.WriteLine(somevar);
NameSpace2.MyClass somevar2 =new NameSpace2.MyClass();
Console.WriteLine(somevar2);
}
}
}

通过引用NameSpace1我们可以使用MyClass直接引用NameSpace1中的MyClass,而NameSpace2中的MyClass则需要使用NameSpace2.MyClass来调用。

<<返回目录

SqlCommand类

表示要对数据库执行的一个Transact-SQL语句或存储过程。
包括公共属性:
CommandText:获取或设置要对数据源执行的 Transact-SQL 语句或存储过程。
CommandType:获取或设置一个值,该值指示如何解释CommandText属性。
CommandTimeout:获取或设置在终止执行命令的尝试并生成错误之前的等待时间。
Connection:获取或设置SqlCommand的此实例使用的SqlConnection。
Container:获取 IContainer,它包含 Component。
DesignTimeVisible:获取或设置一个值,该值指示命令对象是否应在 Windows 窗体设计器控件中可见。
Parameters:获取 SqlParameterCollection。
Site:获取或设置 Component 的 ISite。
Transaction: 获取或设置将在其中执行 SqlCommand 的 SqlTransaction。
UpdatedRowSource: 获取或设置命令结果在由 DbDataAdapter 的 Update 方法使用时如何应用于 DataRow。
公共方法:
Cancel:试图取消 SqlCommand 的执行。
CreateObjRef:创建一个对象,该对象包含生成用于与远程对象进行通讯的代理所需的全部相关信息。
CreateParameter:创建 SqlParameter 对象的新实例。
Dispose:释放由 Component 占用的资源。
Equals:确定两个 Object 实例是否相等。
ExecuteNonQuery:对连接执行 Transact-SQL 语句并返回受影响的行数。
ExecuteReader:将 CommandText 发送到 Connection 并生成一个 SqlDataReader。
ExecuteScalar:执行查询,并返回查询所返回的结果集中第一行的第一列。忽略额外的列或行。
ExecuteXmlReader:将 CommandText 发送到 Connection 并生成一个 XmlReader 对象。
GetHashCode:用作特定类型的哈希函数,适合在哈希算法和数据结构(如哈希表)中使用。
GetLifetimeService:检索控制此实例的生存期策略的当前生存期服务对象。
GetType:获取当前实例的 Type。
InitializeLifetimeService:获取控制此实例的生存期策略的生存期服务对象。
Prepare:在 SQL Server 的实例上创建命令的一个准备版本。
ResetCommandTimeout:将 CommandTimeout 属性重置为其默认值。
ToString:返回表示当前 Object 的 String。
公共事件:
Disposed:添加事件处理程序以侦听组件上的 Disposed 事件。
受保护的属性:
DesignMode:获取一个值,用以指示 Component 当前是否处于设计模式。
Events:获取附加到此 Component 的事件处理程序的列表。
受保护的方法:
Dispose:释放由 Component 占用的资源。
Finalize:在通过垃圾回收将 Component 回收之前,释放非托管资源并执行其他清理操作。
GetService:返回一个对象,该对象表示由 Component 或它的 Container 提供的服务。
MemberwiseClone:创建当前 Object 的浅表副本。

<<返回目录

SqlConnection类

用于表示数据库的一个打开的连接。
公共构造函数:
SqlConnection构造函数:初始化 SqlConnection 类的新实例。
公共属性:
ConnectionString: 获取或设置用于打开 SQL Server 数据库的字符串。
ConnectionTimeout:获取在尝试建立连接时终止尝试并生成错误之前所等待的时间。
Container:获取 IContainer,它包含 Component。
Database :获取当前数据库或连接打开后要使用的数据库的名称。
DataSource:获取要连接的 SQL Server 实例的名称。
PacketSize:获取用来与 SQL Server 的实例通讯的网络数据包的大小(以字节为单位)。
ServerVersion: 获取包含客户端要连接的 SQL Server 实例的版本的字符串。
Site:获取或设置 Component 的 ISite。
State:获取连接的当前状态。
WorkstationId:获取标识数据库客户端的一个字符串。
公共方法:
BeginTransaction:开始数据库事务。
ChangeDatabase:为打开的 SqlConnection 更改当前数据库。
Close:关闭与数据库的连接。这是关闭任何打开连接的首选方法。
CreateCommand:创建并返回一个与 SqlConnection 关联的 SqlCommand 对象。
CreateObjRef:创建一个对象,该对象包含生成用于与远程对象进行通讯的代理所需的全部相关信息。
Dispose:释放由 Component 占用的资源。
EnlistDistributedTransaction:在指定的事务中登记为分布式事务。
Equals:确定两个 Object 实例是否相等。
GetHashCode:用作特定类型的哈希函数,适合在哈希算法和数据结构(如哈希表)中使用。
GetLifetimeService:检索控制此实例的生存期策略的当前生存期服务对象。
GetType:获取当前实例的 Type。
InitializeLifetimeService:获取控制此实例的生存期策略的生存期服务对象。
Open:使用 ConnectionString 所指定的属性设置打开数据库连接。
ToString:返回表示当前 Object 的 String。
公共事件:
Disposed:添加事件处理程序以侦听组件上的 Disposed 事件。
InfoMessage:返回一个警告或信息性消息时发生。
StateChange:当连接状态更改时发生。
受保护的属性:
DesignMode:获取一个值,用以指示 Component 当前是否处于设计模式。
Events:获取附加到此 Component 的事件处理程序的列表。
受保护的方法:
Dispose:释放由 SqlConnection 占用的资源。
Finalize:在通过垃圾回收将 Component 回收之前,释放非托管资源并执行其他清理操作。
GetService:返回一个对象,该对象表示由 Component 或它的 Container 提供的服务。
MemberwiseClone:创建当前 Object 的浅表副本。

<<返回目录

ConfigurationSettings类

用于访问相应的配置文件的配置节的相关设置。
公共属性:
AppSettings:获取 <appSettings> 元素配置节中的配置设置。使用类似如下方法进行访问。

protected static string IsDebug = ConfigurationSettings.AppSettings["debug"];

公共方法:
GetConfig:返回用户定义的配置节的配置设置。

<<返回目录

protected关键字

rotected 关键字是一个成员访问修饰符。从声明受保护的成员的类中,以及从声明受保护的成员的类派生的任何类中都可以访问该成员。
仅当访问通过派生类类型发生时,基类的受保护成员在派生类中才是可访问的。例如,请看以下代码段:

class A
{
protected int x = 123;
}
class B : A
{
void F()
{
A a = new A();
B b = new B();
a.x = 10; // Error
b.x = 10; // OK
}
}

语句 a.x =10 将生成错误,因为 A 不是从 B 派生的。
结构成员无法受保护,因为无法继承结构。a
对于不是从受保护的成员的类派生的类,引用其中受保护的成员是错误的。

<<返回目录

if语句

if 语句根据布尔表达式的值选择要执行的语句。它的形式为:

if (expression)
statement1
[else
statement2]

其中:
expression
一个表达式,可隐式转换为 bool 或包含重载 true 和 false 运算符的类型。
statement1
expression 为 true 时执行的嵌入语句。
statement2
expression 为 false 时执行的嵌入语句。

备注:
如果 expression 为 true,则执行 statement1。如果可选的 else 子句存在并且 expression 求得 false 值,则执行 statement2。执行 if 语句之后,控制传递给下一个语句。
如果 if 语句的两个结果中有任何一个结果(true 或 false)导致执行一个以上的语句,则可通过将多个语句包括在块中按条件执行它们。
在测试条件时执行的语句可以是任何种类的,包括嵌套在原始 if 语句中的另一个 if 语句。在嵌套的 if 语句中,else 子句属于没有相应 else 的最后一个 if。例如:

if (x > 10)
if (y > 20)
Console.Write("Statement_1");
else
Console.Write("Statement_2");

在此例中,如果条件 (y > 20) 求得 false 值,则显示 Statement_2。但如果要使 Statement_2 与条件 (x >10) 关联,则使用大括号:

if (x > 10)
{
if (y > 20)
Console.Write("Statement_1");
}
else
Console.Write("Statement_2");

在这种情况下,条件 (x > 10) 求得 false 值时将显示 Statement_2。

<<返回目录

类是一种引用类型,它封装数据和行为,并可以包含嵌套类型,其中数据包括常数和字段,行为包括方法、属性、索引器、事件、运算符、实例构造函数、静态构造函数和析构函数。类类型支持继承,这是派生类借以扩展和专用化基类的一种机制。
如果您熟悉面向对象的编程,就知道类可以定义对象可执行的操作(方法、事件或属性),并定义保存对象(字段)状态的值。尽管类通常同时包含定义和实现,但它也可以包含没有实现的一个或多个成员。
类的实例是对象。可以通过调用对象的方法并访问其属性、事件和字段,来访问对象的功能。
类声明是一种类型声明,它用于声明一个新类。

class-declaration:(类声明:)
attributesopt class-modifiersopt class identifier class-baseopt class-body ;opt(属性可选 类修饰符可选 class 标识符 类基可选 类体 ;可选

类声明的组成方式如下:先是一组属性,后跟一组类修饰符(可选),然后是关键字 class 和一个用来命名该类的标识符,接着是一个类基规范,最后还可添加一个分号。

<<返回目录

方法

方法是一种用于实现可以由对象或类执行的计算或操作的成员。方法是使用方法声明来声明的:

method-declaration:(方法声明:)
method-header   method-body(方法头   方法体)
method-header:(方法头:)
attributesopt   method-modifiersopt   return-type   member-name   (   formal-parameter-listopt   )(属性可选   方法修饰符可选   返回类型   成员名   (   形参表可选   ))
method-modifiers:(方法修饰符:)
method-modifier(方法修饰符)
method-modifiers   method-modifier(方法修饰符   方法修饰符)
method-modifier:(方法修饰符:)
new
public
protected
internal
private
static
virtual
sealed
override
abstract
extern
return-type:(返回类型:)
type(类型)
void
member-name:(成员名:)
identifier(标识符)
interface-type   .   identifier(接口类型   .   标识符)
method-body:(方法体:)
block(块)
;

方法声明中可包含一组属性和关于四个访问修饰符的一个有效组合,还可含有 new、static、virtual、override、sealed、abstract以及 extern修饰符。

如果以下所有条件为真,则所述的声明就具有一个有效的修饰符组合:
·该声明包含一个有效的访问修饰符组合。
·该声明中所含的修饰符没有彼此相同的。
·该声明最多包含下列修饰符中的一个:static、virtual 和 override。
·该声明最多包含下列修饰符中的一个:new 和 override。
·如果该声明包含了 abstract 修饰符,则该声明不包含下列任何修饰符:static、virtual、sealed 或 extern。
·如果声明包含 private 修饰符,则该声明不包含下列任何修饰符:virtual、override 或 abstract。
·如果声明包含 sealed 修饰符,则该声明还包含 override 修饰符。

方法声明的返回类型用于指定由该方法计算和返回的值的类型。如果方法不返回一个值,则它的返回类型为 void。
成员名用于指定所声明的方法的名称。若所声明的方法不是关于某个显式接口成员的一个实现,则成员名就是一个标识符。而对于一个显式接口成员实现,成员名应由接口类型后跟一个“.”和一个标识符组成。
可选的形参表用于指定方法的参数。
返回类型和在方法的形参表中引用的各个类型必须至少具有和方法本身相同的可访问性。
对于 abstract 和 extern 方法,方法体只有一个分号。对于所有其他方法,方法体由一个块组成,该块用于指定在调用方法时要执行哪些语句。
一个方法的名称和形参表定义了该方法的签名。准确地说,一个方法的签名由它的名称以及它的形参的数目、每个形参的修饰符和类型组成。返回类型不是方法签名的组成部分,形参的名称也不是。

方法的名称必须不同于在同一个类中声明的所有其他非方法的名称。此外,一个方法的签名必须不同于在同一个类中声明的所有其他方法的签名。

<<返回目录

属性

属性是一种用于访问对象或类的特性的成员。属性的示例包括字符串的长度、字体的大小、窗口的标题、客户的名称,等等。属性是字段的自然扩展,此两者都是具有关联类型的命名成员,而且访问字段和属性的语法是相同的。然而,与字段不同,属性不表示存储位置。相反,属性有访问器,这些访问器指定在它们的值被读取或写入时需执行的语句。因此属性提供了一种机制,它把读取和写入对象的某些特性与一些操作关联起来;甚至,它们还可以对此类特性进行计算。
属性是使用属性声明声明的:

property-declaration:(属性声明:)
attributesopt   property-modifiersopt   type   member-name   {   accessor-declarations   }(属性可选   属性修饰符可选   类型   成员名   {   访问器声明   })
property-modifiers:(属性修饰符:)
property-modifier(属性修饰符)
property-modifiers   property-modifier(属性修饰符   属性修饰符)
property-modifier:(属性修饰符:)
new
public
protected
internal
private
static
virtual
sealed
override
abstract
extern
member-name:(成员名:)
identifier(标识符)
interface-type   .   identifier(接口类型   .   标识符)

属性声明可包含一组特性和四个访问修饰符的有效组合,还可包含 new、static、virtual、override、sealed、abstract以及 extern修饰符。
关于有效的修饰符组合,属性声明与方法声明遵循相同的规则。
属性声明中的类型用于指定该声明所引入的属性的类型,而成员名则指定该属性的名称。除非该属性是一个显式的接口成员实现,否则成员名就只是一个标识符。对于显式接口成员实现,成员名由一个接口类型,后跟一个“.”和一个标识符来组成。
属性的类型必须至少与属性本身具有同样的可访问性。
访问器声明(必须括在“{”和“}”标记中)声明属性的访问器。访问器指定与属性的读取和写入相关联的可执行语句。
虽然访问属性的语法与访问字段的语法相同,但是属性并不归类为变量。因此,不能将属性作为 ref 或 out 参数传递。
属性声明包含 extern 修饰符时,称该属性为外部属性。因为外部属性声明不提供任何实际的实现,所以它的每个访问器声明都仅含有一个分号。

<<返回目录

SqlDataAdapter类

表示用于填充 DataSet 和更新 SQL Server 数据库的一组数据命令和一个数据库连接。
公共构造函数:
SqlDataAdapter 构造函数:初始化 SqlDataAdapter 类的新实例。
公共属性:
AcceptChangesDuringFill:获取或设置一个值,该值指示在任何 Fill 操作过程中,在将 AcceptChanges 添加到 DataTable 之后是否针对 DataRow 调用它。
Container:获取 IContainer,它包含 Component。
ContinueUpdateOnError:获取或设置一个值,该值指定在行更新过程中遇到错误时是否生成异常。
DeleteCommand:获取或设置一个 Transact-SQL 语句或存储过程,以从数据集删除记录。
InsertCommand:获取或设置一个 Transact-SQL 语句或存储过程,以在数据源中插入新记录。
MissingMappingAction:确定传入数据没有匹配的表或列时需要执行的操作。
MissingSchemaAction:确定现有 DataSet 架构与传入数据不匹配时需要执行的操作。
SelectCommand:获取或设置一个 Transact-SQL 语句或存储过程,用于在数据源中选择记录。
Site:获取或设置 Component 的 ISite。
TableMappings:获取一个集合,它提供源表和 DataTable 之间的主映射。
UpdateCommand:获取或设置一个 Transact-SQL 语句或存储过程,用于更新数据源中的记录。
公共方法:
CreateObjRef:创建一个对象,该对象包含生成用于与远程对象进行通讯的代理所需的全部相关信息。
Dispose:释放由 Component 占用的资源。
Equals:确定两个 Object 实例是否相等。
Fill:在 DataSet 中添加或刷新行以匹配数据源中的行。
FillSchema:已重写。将 DataTable 添加到 DataSet 中,并配置架构以匹配数据源中的架构。
GetFillParameters:获取当执行 SQL SELECT 语句时由用户设置的参数。
GetHashCode:用作特定类型的哈希函数,适合在哈希算法和数据结构(如哈希表)中使用。
GetLifetimeService:检索控制此实例的生存期策略的当前生存期服务对象。
GetType:获取当前实例的 Type。
InitializeLifetimeService:获取控制此实例的生存期策略的生存期服务对象。
ToString:返回表示当前 Object 的 String。
Update:为 DataSet 中每个已插入、已更新或已删除的行调用相应的 INSERT、UPDATE 或 DELETE 语句。
公共事件:
Disposed:添加事件处理程序以侦听组件上的 Disposed 事件。
FillError:在填充操作过程中出现错误时返回。
RowUpdated:在对数据源执行命令后的 Update 过程中发生。试图进行更新,因此激发了该事件。
RowUpdating:在对数据源执行命令前的 Update 过程中发生。试图进行更新,因此激发了该事件。
受保护的属性:
DesignMode:获取一个值,用以指示 Component 当前是否处于设计模式。
Events:获取附加到此 Component 的事件处理程序的列表。
受保护的方法:
CloneInternals: 创建此 DataAdapter 实例的一个副本。
CreateRowUpdatedEvent:参见 DbDataAdapter.CreateRowUpdatedEvent。
CreateRowUpdatingEvent:参见 DbDataAdapter.CreateRowUpdatingEvent。
CreateTableMappings:创建一个新的 DataTableMappingCollection。
Dispose:已重写。将释放由 SqlDataAdapter 使用的资源。
Fill:在 DataSet 中添加或刷新行以匹配数据源中的行。
FillSchema:将 DataTable 添加到 DataSet 中,并配置架构以匹配数据源中的架构。
Finalize:在通过垃圾回收将 Component 回收之前,释放非托管资源并执行其他清理操作。
GetService:返回一个对象,该对象表示由 Component 或它的 Container 提供的服务。
MemberwiseClone:创建当前 Object 的浅表副本。
OnFillError:引发 FillError 事件。
OnRowUpdated:引发 RowUpdated 事件。
OnRowUpdating:引发 RowUpdating 事件。
ShouldSerializeTableMappings:确定一个或多个 DataTableMapping 对象是否存在,并且它们是否应该是持久的。
Update:为 DataSet 中每个已插入、已更新或已删除的行调用相应的 INSERT、UPDATE 或 DELETE 语句。

<<返回目录

DataSet类

表示数据在内存中的缓存。
公共构造函数:
DataSet 构造函数:初始化 DataSet 类的新实例。
公共属性:
CaseSensitive:获取或设置一个值,该值指示 DataTable 对象中的字符串比较是否区分大小写。
Container:获取组件的容器。
DataSetName:获取或设置当前 DataSet 的名称。
DefaultViewManager:获取 DataSet 所包含的数据的自定义视图,以允许使用自定义的 DataViewManager 进行筛选、搜索和导航。
DesignMode:获取指示组件当前是否处于设计模式的值。
EnforceConstraints:获取或设置一个值,该值指示在尝试执行任何更新操作时是否遵循约束规则。
ExtendedProperties:获取与 DataSet 相关的自定义用户信息的集合。
HasErrors:获取一个值,指示在此 DataSet 中的任何 DataTable 对象中是否存在错误。
Locale:获取或设置用于比较表中字符串的区域设置信息。
Namespace:获取或设置 DataSet 的命名空间。
Prefix:获取或设置一个 XML 前缀,该前缀是 DataSet 的命名空间的别名。
Relations:获取用于将表链接起来并允许从父表浏览到子表的关系的集合。
Site:获取或设置 DataSet 的 System.ComponentModel.ISite。
Tables:获取包含在 DataSet 中的表的集合。
公共方法:
AcceptChanges:提交自加载此 DataSet 或上次调用 AcceptChanges 以来对 DataSet 进行的所有更改。
Clear:通过移除所有表中的所有行来清除任何数据的 DataSet。
Clone:复制 DataSet 的结构,包括所有 DataTable 架构、关系和约束。不要复制任何数据。
Copy:复制该 DataSet 的结构和数据。
Dispose:释放由 MarshalByValueComponent 使用的资源。
Equals:确定两个 Object 实例是否相等。
GetChanges:获取 DataSet 的副本,该副本包含自上次加载以来或自调用 AcceptChanges 以来对该数据集进行的所有更改。
GetHashCode:用作特定类型的哈希函数,适合在哈希算法和数据结构(如哈希表)中使用。
GetService:获取 IServiceProvider 的实施者。
GetType:获取当前实例的 Type。
GetXml:返回存储在 DataSet 中的数据的 XML 表示形式。
GetXmlSchema:返回存储在 DataSet 中的数据的 XML 表示形式的 XSD 架构。
HasChanges:获取一个值,该值指示 DataSet 是否有更改,包括新增行、已删除的行或已修改的行。
InferXmlSchema :将 XML 架构应用于 DataSet。
Merge:将 XML 架构和数据读入 DataSet。
ReadXmlSchema:将 XML 架构读入 DataSet。
RejectChanges:回滚自创建 DataSet 以来或上次调用 DataSet.AcceptChanges 以来对 DataSet 进行的所有更改。
Reset:将 DataSet 重置为其初始状态。子类应重写 Reset,以便将 DataSet 还原到其原始状态。
ToString:返回表示当前 Object 的 String。
WriteXml:从 DataSet 写 XML 数据,还可以选择写架构。
WriteXmlSchema:写 XML 架构形式的 DataSet 结构。
公共事件:
Disposed:添加事件处理程序以侦听组件上的 Disposed 事件。
MergeFailed:当目标和源 DataRow 的主键值相同且 EnforceConstraints 设置为真时发生。
受保护的构造函数:
DataSet 构造函数:初始化 DataSet 类的新实例。
受保护的属性:
Events:获取附加到该组件的事件处理程序的列表。
受保护的方法:
Dispose:释放由 MarshalByValueComponent 使用的资源。
Finalize:允许 Object 在“垃圾回收”回收 Object 之前尝试释放资源并执行其他清理操作。
MemberwiseClone:创建当前 Object 的浅表副本。
OnPropertyChanging:引发 OnPropertyChanging 事件。
OnRemoveRelation:当从 DataTable 中移除 DataRelation 对象时发生。
OnRemoveTable:当从 DataSet 中移除 DataTable 时发生。
RaisePropertyChanging:发送指定的 DataSet 属性将要更改的通知。
ShouldSerializeRelations:获取一个值,该值指示是否应该保持 Relations 属性。
ShouldSerializeTables:获取一个值,该值指示是否应该保持 Tables 属性。

<<返回目录

DataTable类

表示内存中数据的一个表。
公共构造函数:
DataTable 构造函数:初始化 DataTable 类的新实例。
公共属性:
CaseSensitive:指示表中的字符串比较是否区分大小写。
ChildRelations:获取此 DataTable 的子关系的集合。
Columns:获取属于该表的列的集合。
Constraints:获取由该表维护的约束的集合。
Container:获取组件的容器。
DataSet:获取该表所属的 DataSet。
DefaultView:获取可能包括筛选视图或游标位置的表的自定义视图。
DesignMode:获取指示组件当前是否处于设计模式的值。
DisplayExpression:获取或设置将返回一个值的表达式,该值用于表示用户界面中的该表。
ExtendedProperties:获取自定义用户信息的集合。
HasErrors:获取一个值,该值指示该表所属的 DataSet 的任何表的任何行中是否有错误。
Locale:获取或设置用于比较表中字符串的区域设置信息。
MinimumCapacity:获取或设置该表最初的起始大小。
Namespace:获取或设置 DataTable 中所存储数据的 XML 表示形式的命名空间。
ParentRelations:获取该 DataTable 的父关系的集合。
Prefix:获取或设置 DataTable 中所存储数据的 XML 表示形式的命名空间。
PrimaryKey:获取或设置充当数据表主键的列的数组。
Rows:获取属于该表的行的集合。
Site:获取或设置 DataTable 的 System.ComponentModel.ISite。
TableName:获取或设置 DataTable 的名称。
公共方法:
AcceptChanges:提交自上次调用 AcceptChanges 以来对该表进行的所有更改。
BeginInit:开始初始化在窗体上使用或由另一个组件使用的 DataTable。此初始化在运行时发生。
BeginLoadData:在加载数据时关闭通知、索引维护和约束。
Clear:清除所有数据的 DataTable。
Clone:克隆 DataTable 的结构,包括所有 DataTable 架构和约束。
Compute:计算用来传递筛选条件的当前行上的给定表达式。
Copy:复制该 DataTable 的结构和数据。
Dispose:释放由 MarshalByValueComponent 使用的资源。
EndInit:结束在窗体上使用或由另一个组件使用的 DataTable 的初始化。此初始化在运行时发生。
EndLoadData:在加载数据后打开通知、索引维护和约束。
Equals:确定两个 Object 实例是否相等。
GetChanges:获取 DataTable 的副本,该副本包含自上次加载以来或自调用 AcceptChanges 以来对该数据集进行的所有更改。
GetErrors:获取包含错误的 DataRow 对象的数组。
GetHashCode:用作特定类型的哈希函数,适合在哈希算法和数据结构(如哈希表)中使用。
GetService:获取 IServiceProvider 的实施者。
GetType:获取当前实例的 Type。
ImportRow:将 DataRow 复制到 DataTable 中,保留任何属性设置以及初始值和当前值。
LoadDataRow:查找和更新特定行。如果找不到任何匹配行,则使用给定值创建新行。
NewRow:创建与该表具有相同架构的新 DataRow。
RejectChanges:回滚自该表加载以来或上次调用 AcceptChanges 以来对该表进行的所有更改。
Reset:将 DataTable 重置为其初始状态。
Select:获取 DataRow 对象的数组。
ToString:获取 TableName 和 DisplayExpression(如果有一个用作连接字符串)。
公共事件:
ColumnChanged:在 DataRow 中指定的 DataColumn 的值被更改后发生。
ColumnChanging:在 DataRow 中指定的 DataColumn 的值发生更改时发生。
Disposed:添加事件处理程序以侦听组件上的 Disposed 事件。
RowChanged:在成功更改 DataRow 之后发生。
RowChanging:在 DataRow 正在更改时发生。
RowDeleted:在表中的行已被删除后发生。
RowDeleting:在表中的行要被删除之前发生。
受保护的构造函数:
DataTable 构造函数:初始化 DataTable 类的新实例。
受保护的属性:
Events:获取附加到该组件的事件处理程序的列表。
受保护的方法:
CreateInstance:创建 DataTable 类的新实例。
Dispose:释放由 MarshalByValueComponent 使用的资源。
Finalize:允许 Object 在“垃圾回收”回收 Object 之前尝试释放资源并执行其他清理操作。
MemberwiseClone:创建当前 Object 的浅表副本。
NewRowFromBuilder:从现有的行创建新行。
OnColumnChanged:引发 ColumnChanged 事件。
OnColumnChanging:引发 ColumnChanging 事件。
OnRemoveColumn:通知 DataTable:DataColumn 正在被移除。
OnRowChanged:引发 RowChanged 事件。
OnRowChanging:引发 RowChanging 事件。
OnRowDeleted:引发 RowDeleted 事件。
OnRowDeleting:引发 RowDeleting 事件。

<<返回目录

HyperLink控件

HyperLink Web 服务器控件在 Web 页上创建链接,使用户可以在应用程序中在页之间移动。使用 HyperLink 控件的主要优点是您可以在服务器代码中设置链接属性。例如,您可以基于页面中的条件动态地更改链接文本或目标页。
安全说明 恶意用户可以篡改与超级链接相关联的 URL。有关更多信息,请参见脚本利用。
使用 HyperLink 控件的另一个优点是,您可以使用数据绑定来指定链接的目标 URL(以及要与链接一起传递的参数,如果需要)。典型的示例是基于产品列表创建 HyperLink 控件;目标 URL 指向用户可以阅读有关产品的更详细信息的页。
提示 如果您需要创建数据绑定的 HyperLink 控件,则将其作为 Repeater、DataList 或 DataGrid 控件的子级添加是一条捷径。
HyperLink 控件可显示可单击的文本或图像。
与大多数 Web 服务器控件不同,当用户单击 HyperLink 控件时并不会在服务器代码中引发事件。此控件只执行导航。

<<返回目录

Repeater控件

一个数据绑定列表控件,允许通过为列表中显示的每一项重复指定的模板来自定义布局。

asp:Repeater id="Repeater1"
DataSource="<% databindingexpression %>"
runat=server>
<HeaderTemplate>
Header template HTML
</HeaderTemplate>
<ItemTemplate>
Item template HTML
</ItemTemplate>
<AlternatingItemTemplate>
Alternating item template HTML
</AlternatingItemTemplate>
<SeparatorTemplate>
Separator template HTML
</SeparatorTemplate>
<FooterTemplate>
Footer template HTML
</FooterTemplate>
<asp:Repeater>

备注
使用 Repeater 控件创建基本的模板数据绑定列表。Repeater 控件没有内置的布局或样式;必须在此控件的模板内显式声明所有的 HTML 布局、格式设置和样式标记。
Repeater 控件不同于其他数据列表控件之处在于它允许您在其模板中放置 HTML 段落。这使您可以创建复杂的 HTML 结构(如表)。例如,若要在 HTML 表中创建一个列表,请通过在 HeaderTemplate 中放置 <table> 标记来开始此表。然后,通过在 ItemTemplate 中放置 <tr> 标记、<td> 标记和数据绑定项来创建该表的行和列。如果要使表中的交替项呈现不同的外观,请使用与 ItemTemplate 相同的内容创建 AlternatingItemTemplate,除非指定了另一种样式。最后,通过在 FooterTemplate 中放置 </table> 标记完成该表。
下表列出 Repeater 控件的不同模板。
模板说明
AlternatingItemTemplate 与 ItemTemplate 元素类似,但在 Repeater 控件中隔行(交替项)呈现一次。通过设置 AlternatingItemTemplate 元素的样式属性,可以为其指定不同的外观。
FooterTemplate 在所有数据绑定行呈现之后呈现一次的元素。典型的用途是关闭在 HeaderTemplate 项中打开的元素(使用 </table> 这样的标记)。
注意 FooterTemplate 不能是数据绑定的。
HeaderTemplate 在所有数据绑定行呈现之前呈现一次的元素。典型的用途是开始一个容器元素(如表)。
注意 HeaderTemplate 项不能是数据绑定的。
ItemTemplate 为数据源中的每一行都呈现一次的元素。若要显示 ItemTemplate 中的数据,请声明一个或多个 Web 服务器控件并设置其数据绑定表达式以使其计算为 Repeater 控件(即容器控件)的 DataSource 中的字段。以下示例显示一个示例声明,它显示包含 Label 控件中的第一个名称的字段。

First Name:
<asp:Label runat="server"
Text="<%# Container.DataItem.FirstName %>" />

SeparatorTemplate 在各行之间呈现的元素,通常是分行符(<br> 标记)、水平线(<hr> 标记)等。
注意 SeparatorTemplate 项不能是数据绑定的。

Repeater 控件没有内置的选择或编辑支持。可以为该控件的 ItemCommand 事件创建处理程序以处理从模板发送到该控件的控件事件。
该控件将其 Item 和 AlternatingItem 模板绑定到在它的 DataSource 属性中引用的数据结构。(不能将 Header、Footer 和 Separator 模板绑定到数据。)如果设置了 Repeater 控件的 DataSource 属性,但没有返回任何数据,则该控件将呈现 Header 和 Footer 模板,但不呈现任何项。如果未设置 DataSource 属性,则不会呈现 Repeater 控件。
警告 文本在 Repeater 控件中显示之前并非 HTML 编码形式。这使得可以在文本中的 HTML 标记间嵌入脚本。如果控件值是用户输入的,请务必验证这些值以防止出现安全漏洞。

<<返回目录

Repeater 类

公共构造函数
Repeater 构造函数 初始化 Repeater 类的新实例。
公共属性
AlternatingItemTemplate:获取或设置 System.Web.UI.ITemplate,它定义如何显示控件中的交替项。
ClientID:获取由 ASP.NET 生成的服务器控件标识符。
Controls:获取包含 Repeater 子控件的 System.Web.UI.ControlCollection。
DataMember:获取或设置 DataSource 中要绑定到控件的特定表。
DataSource:获取或设置为填充列表提供数据的数据源。
EnableViewState:获取或设置一个值,该值指示服务器控件是否向发出请求的客户端保持自己的视图状态以及它所包含的任何子控件的视图状态。
FooterTemplate:获取或设置 System.Web.UI.ITemplate,它定义如何显示 Repeater 控件的注脚部分。
HeaderTemplate:获取或设置 System.Web.UI.ITemplate,它定义如何显示 Repeater 控件的标头部分。
ID:获取或设置分配给服务器控件的编程标识符。
Items:获取 Repeater 中 RepeaterItem 对象的集合。
ItemTemplate:获取或设置 System.Web.UI.ITemplate,它定义如何显示 Repeater 控件中的项。
NamingContainer:获取对服务器控件的命名容器的引用,此引用创建唯一的命名空间,以区分具有相同 Control.ID 属性值的服务器控件。
Page:获取对包含服务器控件的 Page 实例的引用。
Parent:获取对页 UI 层次结构中服务器控件的父控件的引用。
SeparatorTemplate:获取或设置 System.Web.UI.ITemplate,它定义如何显示各项之间的分隔符。
Site:获取有关服务器控件所属 Web 站点的信息。
TemplateSourceDirectory:获取包含当前服务器控件的 Page 或 UserControl 的虚拟目录。
UniqueID:获取服务器控件的唯一的、以分层形式限定的标识符。
Visible:获取或设置一个值,该值指示服务器控件是否作为 UI 呈现在页上。
公共方法
DataBind:绑定数据源。
Dispose:使服务器控件得以在从内存中释放之前执行最后的清理操作。
Equals:确定两个 Object 实例是否相等。
FindControl:在当前的命名容器中搜索指定的服务器控件。
GetHashCode:用作特定类型的哈希函数,适合在哈希算法和数据结构(如哈希表)中使用。
GetType:获取当前实例的 Type。
HasControls:确定服务器控件是否包含任何子控件。
RenderControl:将服务器控件的内容输出到所提供的 HtmlTextWriter 对象中;如果已启用跟踪功能,则存储有关控件的跟踪信息。
ResolveUrl:将 URL 转换为在请求客户端可用的 URL。
ToString:返回表示当前 Object 的 String。
公共事件
DataBinding:当服务器控件绑定到数据源时发生。
Disposed:当从内存释放服务器控件时发生,这是请求 ASP.NET 页时服务器控件生存期的最后阶段。
Init:当服务器控件初始化时发生;初始化是控件生存期的第一步。
ItemCommand:当单击 Repeater 控件中的按钮时发生。
ItemCreated:当在 Repeater 控件中创建一项时发生。
ItemDataBound:在 Repeater 中的某项被数据绑定之后,但在呈现于页面上之前发生。
Load:当服务器控件加载到 Page 对象中时发生。
PreRender:当服务器控件将要呈现给其包含的 Page 对象时发生。
Unload:当服务器控件从内存中卸载时发生。
受保护的属性
ChildControlsCreated:获取一个值,该值指示是否已创建服务器控件的子控件。
Context:为当前 Web 请求获取与服务器控件关联的 HttpContext 对象。
Events:获取控件的事件处理程序委托列表。此属性为只读。
HasChildViewState:获取一个值,该值指示当前服务器控件的子控件是否具有任何已保存的视图状态设置。
IsTrackingViewState:获取一个值,用于指示服务器控件是否会将更改保存到其视图状态中。
ViewState:获取状态信息的字典,这些信息使您可以在同一页的多个请求间保存和还原服务器控件的视图状态。
ViewStateIgnoresCase:获取一个值,该值指示 StateBag 对象是否不区分大小写。
受保护的方法
AddedControl:在控件被添加到另一控件的 Controls 集合后调用。
AddParsedSubObject:通知服务器控件某个元素(XML 或 HTML)已经过语法分析,并将该元素添加到服务器控件的 ControlCollection 对象。
ClearChildViewState:删除服务器控件的所有子控件的视图状态信息。
CreateChildControls:参见 Control.CreateChildControls。
CreateControlCollection:创建一个新的 ControlCollection 对象来保存服务器控件的子控件(包括文本控件和服务器控件)。
EnsureChildControls:确定服务器控件是否包含子控件。如果不包含,则创建子控件。
Finalize:允许 Object 在“垃圾回收”回收 Object 之前尝试释放资源并执行其他清理操作。
IsLiteralContent:确定服务器控件是否只包含文字内容。
LoadViewState:从 SaveViewState 方法保存的上一个页请求还原视图状态信息。
MapPathSecure:检索虚拟路径(绝对的或相对的)映射到的物理路径。
MemberwiseClone:创建当前 Object 的浅表副本。
OnBubbleEvent:参见 Control.OnBubbleEvent。
OnDataBinding:参见 Control.OnDataBinding。
OnInit:引发 Init 事件。
OnItemCommand:引发 ItemCommand 事件。
OnItemCreated:引发 ItemCreated 事件。
OnItemDataBound:引发 ItemDataBound 事件。
OnLoad:引发 Load 事件。
OnPreRender:引发 PreRender 事件。
OnUnload:引发 Unload 事件。
注意 在服务器控件生存期的此阶段,服务器控件应执行所有最后的清理操作,例如关闭文件、关闭数据库连接和丢弃对象。
RaiseBubbleEvent:将所有事件源及其信息分配给控件的父级。
RemovedControl:在将某一控件从另一控件的 Controls 集合中移除后调用。
Render:将服务器控件内容发送到提供的 HtmlTextWriter 对象,此对象编写将在客户端呈现的内容。
RenderChildren:将服务器控件子级的内容输出到提供的 HtmlTextWriter 对象,此对象编写将在客户端呈现的内容。
SaveViewState:保存自页回发到服务器后发生的任何服务器控件视图状态更改。
TrackViewState:导致跟踪服务器控件的视图状态的更改,以便这些更改可以存储到服务器控件的 StateBag 对象中。通过 Control.ViewState 属性可访问此对象。

<<返回目录

DataBinder.Eval 方法

public static object Eval(
object container,
string expression
);

参数
container
表达式根据其进行计算的对象引用。这必须是该页指定语言中的有效对象标识符。
expression
container 到要放置在绑定控件属性中的属性值的导航路径。这必须是以点分隔的字符串类型的属性或字段名称,如Tables[0].DefaultView.[0].Price。
返回值
Object,它是数据绑定表达式的计算结果。

备注
尽管当您在 RAD 设计器中创建数据绑定时自动调用此方法,但如果希望简化转换为要在浏览器上显示的文本字符串的操作,则还可以以声明方式使用它。为此,必须将 <%# 和 %> 标记放在数据绑定表达式的两头;这些标记也用于标准 ASP.NET 数据绑定。
当数据绑定到模板列表中的控件时,该方法尤其有用。
警告 由于此方法在运行时使用反射执行后期绑定计算,因此与标准 ASP.NET 数据绑定语法相比,它会导致性能明显下降。
对于所有的列表 Web 控件,如 DataList、DataGrid 或 Repeater,container 参数均应为 Container.DataItem。如果要针对页进行绑定,则 container 参数应为 Page。

<<返回目录

RepeaterItemCollection 类

表示 Repeater 控件中的 RepeaterItem 对象的集合。
公共构造函数
RepeaterItemCollection 构造函数 初始化 RepeaterItemCollection 类的新实例。
公共属性
Count:获取集合中的 RepeaterItem 对象数。
IsReadOnly:获取一个值,该值指示是否可修改 RepeaterItemCollection 中的 RepeaterItem 对象。
IsSynchronized:获取一个值,该值指示是否同步 RepeaterItemCollection 访问(线程安全)。
Item:获取集合中指定索引位置的 RepeaterItem 对象。
SyncRoot:获取可用于同步 RepeaterItemCollection 集合访问的对象。
公共方法
CopyTo:从 System.Array 对象中的指定索引位置开始,将此 RepeaterItemCollection 中的所有项复制到指定的 System.Array 对象。
Equals:确定两个 Object 实例是否相等。
GetEnumerator:返回包含 RepeaterItemCollection 中的所有 RepeaterItem 对象的 System.Collections.IEnumerator 接口。
GetHashCode:用作特定类型的哈希函数,适合在哈希算法和数据结构(如哈希表)中使用。
GetType:获取当前实例的 Type。
ToString:返回表示当前 Object 的 String。
受保护的方法
Finalize:已重写。允许 Object 在“垃圾回收”回收 Object 之前尝试释放资源并执行其他清理操作。
MemberwiseClone:创建当前 Object 的浅表副本。

<<返回目录

C#类型

C# 类型体系包含下列几种类别:
·值类型
·引用类型
·指针类型
值类型的变量存储数据,而引用类型的变量存储对实际数据的引用。引用类型也称为对象。指针类型仅可用于 unsafe 模式。
可通过使用装箱和取消装箱将值类型和引用类型相互转换。

<<返回目录

值类型

值类型主要由两类组成:
·Struct(结构)类型
·枚举类型
结构类型包括用户定义的 struct 类型以及下列内置的简单类型:
·Numeric(数值)类型
  ·整型
  ·浮点型
  ·decimal
·bool
值类型的主要功能
值类型的变量总是包含该类型的值。对值类型变量赋值将创建所赋的值的一个副本,而对引用类型变量赋值将创建引用的副本,而不是引用对象的副本。
所有的值类型均隐式派生自 Object 类。
与引用类型不同,从值类型不可能派生出新的类型。但与引用类型相同的是,结构也可以实现接口。
与引用类型不同,值类型不可能包含 null 值。
每种值类型均有一个隐式的默认构造函数来初始化该类型的默认值。。
简单类型的主要功能
所有的简单类型均为 .NET Framework 系统类型的别名。例如,int 是 System.Int32 的别名。
编译时计算操作数均为简单类型常数的常数表达式。。
可使用文字初始化简单类型。例如,“A”是 char 类型的文字,而 2001 是 int 类型的文字。
初始化值类型
C# 中的局部变量经初始化后方可使用。因此,如果像下面这样声明了一个局部变量而未将其初始化:

int myInt;

那么在将其初始化之前,无法使用此变量。可使用下列语句将其初始化:

myInt = new int(); // Invoke the default constructor for the type int

此语句等效于:

myInt = 0; // Assign an initial value, 0 in this example

当然,可以像下面这样用同一个语句进行声明和初始化:

int myInt = new int();

– 或 –

int myInt = 0;

使用 new 运算符将调用特定类型的默认构造函数并为变量赋以默认值。在上例中,默认构造函数将值 0 赋给了 myInt。
对于用户定义类型,使用 new 调用默认构造函数。例如,下列语句调用了 Point 结构的默认构造函数:

Point p = new Point(); // Invoke the default constructor for the struct

此调用后,该结构被认为已被明确赋值;也就是说该结构的所有成员均已初始化为各自的默认值。

<<返回目录

引用类型

引用类型的变量又称为对象,可存储对实际数据的引用。主要有:

·class
·interface
·delegate
·object
·string

<<返回目录

int类型

int 关键字表示一种整型。
范围 -2,147,483,648 到 2,147,483,647
大小 有符号 32 位整数
.NET Framework 类型 System.Int32
文本
可如下例所示声明并初始化 int 类型的变量:

int myInt = 123;

如果整数无后缀,则其类型为以下类型中可表示其值的第一个类型:int、uint、long 和 ulong。在此例中为 int 类型。
转换
存在从 int 类型到 long、float、double 或 decimal 类型的预定义隐式转换。例如:

float myFloat = 123; // OK: implicit conversion to float

存在从 sbyte、byte、short、ushort 或 char 类型到 int 类型的预定义隐式转换。例如,假设有一个 long 变量 myLong,如果不进行强制转换,下列赋值语句将产生编译错误:

long myLong = 22;
int myInt = myLong; // Error: no implicit conversion from long
int myInt = (int)myLong; // OK: explicit conversion

还请注意:不存在从浮点型到 int 类型的隐式转换。例如,除非使用显式强制转换,否则以下语句将生成一个编译器错误:

int x = 3.0; // Error: no implicit conversion from double
int y = (int)3.0; // OK: explicit conversion

<<返回目录

string类型

string 类型表示一个 Unicode 字符的字符串。string 是 .NET Framework 中 System.String 的别名。
尽管 string 是引用类型,但相等运算符(== 和 !=)被定义为比较 string 对象(而不是引用)的“值”。这使得对字符串相等性的测试更为直观。

string a = "hello";
string b = "h";
b += "ello"; // append to b
Console.WriteLine( a == b ); // output: True -- same value
Console.WriteLine( (object)a == b ); // False -- different objects

+ 运算符用于连接字符串:

string a = "good " + "morning";

[] 运算符访问 string 中的个别字符:

char x = "test"[2]; // x = 's';"test"[0]='t'

字符串为 string 类型并可写成两种形式,即用引号引起来和用 @ 引起来。用引号引起来的字符串括在双引号 (") 内:

"good morning" // a string literal

并且可以包含包括换码序列在内的任何字符:

string a = "\\\u0066\n"; // backslash, letter f, new line

注意 转义码 \udddd(其中 dddd 是一个四位数)表示 Unicode 字符 U+dddd。还可识别 8 位 Unicode 转义码:\udddd\udddd。
用 @ 引起来的字符串以 @ 开头,并用双引号引起来。例如:

@"good morning" // a string literal

用 @ 引起来的优点在于换码序列“不”被处理,这样就可以轻松写出字符串,例如一个完全限定的文件名:

@"c:\Docs\Source\a.txt" // rather than "c:\\Docs\\Source\\a.txt"

若要在一个用 @ 引起来的字符串中包括一个双引号,请使用两对双引号:

@"""Ahoy!"" cried the captain." // "Ahoy!" cried the captain.

@ 符号的另一种用法是使用碰巧成为 C# 关键字的被引用的 (/reference) 标识符。
示例

// keyword_string.cs
using System;
class test
{
public static void Main( String[] args )
{
string a = "\u0068ello ";
string b = "world";
Console.WriteLine( a + b );
Console.WriteLine( a + b == "hello world" );
}
}

输出

hello world
True

<<返回目录

void关键字

用作方法的返回类型时,void 关键字指定方法不返回值。
在方法的参数列表中不允许使用 void。采用以下形式声明一个无参数的、不返回值的方法:
void MyMethod();
也可在不安全上下文中使用 void 将指针声明为未知类型。

<<返回目录