asp.net(c#) static关键字用法小结
静态变量
当我们编写一个类时,其实就是在描述其对象的属性和行为,而并没有产生实质上的对象,只有通过new关键字才会产生出对象,这时系统才会分配内存空间给对象,其方法才可以供外部调用。
有时候,我们希望无论是否产生了对象或无论产生了多少对象的情况下,某些特定的数据在内存空间里只有一份,例如所有的中国人都有国家名称,每一个中国人都共享这个国家名称,不必在每一个中国人的实例对象中都单独分配一个用于代码国家名称的变量。例子:
protected void Page_Load(object sender, EventArgs e)
{
//直接使用“类名.成员”的格式,不能使用“对象名.成员”的格式,这点与JAVA不一样,JAVA两种都可以使用
Response.Write(Chinese.Country);
}
class Chinese
{
public static string Country = "中国";
public void getCountry()
{
//类中的成员方法也可以直接访问静态成员变量
HttpContext.Current.Response.Write("你好!" + Country);
}
}
需要注意的是:不能把任何方法体内的变量声明为静态,如下面这样是不行的:
public void getCountry()
{
//类中的成员方法也可以直接访问静态成员变量
HttpContext.Current.Response.Write("你好!" + Country);
static int i = 1;
}
静态方法
我们有时也希望不必创建对象就可以调用某个方法,换句话说也就是使该方法不必和对象绑定在一起。要实现这样的效果,只需要在类中定义的方法前加上static关键字就可以了,我们称这种方法为静态成员方法,还可以在类的非静态成员方法中象访问其他静态方法一样去访问这个静态方法,例子:
protected void Page_Load(object sender, EventArgs e)
{ &nb
相关文档:
方法一:
HtmlProxy.cs:
using System.Text;
using System.IO;
/// <summary>
/// HtmlProxy 的摘要说明
/// </summary>
public class HtmlProxy
{
public HtmlProxy()
{
//
......
上次我们说到的编译成的dll文件与cs文件在同一目录中,而不会放到虚拟目录的bin目录中,如何做才能够把cs
文件编译成dll且自动放到虚拟目录的bin文件夹中呢?
开始-------程序-------Microsoft Visual Studio.NET 2003-------Visual Studio.NET工具,点击其中的“Visual Studio.NET2003命令提示”,就会进入Mic ......
一、(单值绑定)在页面的后台代码中定义公有变量,如下:
public string gongYou = "声明的公有成员";
①然后在页面的源中调用,如下:
<asp:Label ID="lblMgs" runat="server" Text="<%#gongYou >"></asp:Label>
②当然最后要记得绑定数据:
protected void Page_Load(object ......
有很多理由去解释理解ASP.NET页面生命周期是非常重要的,主要是要去理解什么地方放置什么特定的方法,什么时候我们应该设置什么相关的属性。如果去开发自定义的服务器控件,理解生命周期对纠正控件初始化时候的错误,以及使用view-state和后台代码设置属性是非常有用的。(控件事件只与ASP.NET页面相关)
&n ......
从来都很少写博,现在开始写写,方便自己用的时候不用搜索,或许还可以帮助到别人,何乐而不为呢?呵呵。
注意事项一:如果页面点击按钮无法触发验证控件的作用时,解决办法如下:
c:\WINNT\Microsoft.NET\Framework\v1.1.4322
1.开始菜单-->运行cmd
&nbs ......