不理解ASP.NET的处理机制,请高手指点
之前学了c#是面向对象的,现在在学ASP.NET 被里面的东西绕的有点晕,请高手给与指点。我新建一个ASP.NET页面,里面包含 扩展名为aspx.cs的页面,一个简单调用,请给与解释
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
say();
}
pubilc void say()
{
response.write("hello");
}
}
新建一个页面就写了个 say方法,直接在page_load()方法里面就调用了,之前学c#,类的方法不是要先实例化这个类之后才能调用这个方法吗?这里是不是ASP.NET有什么机制,在这里不需要实例化还是已经在后台实例化了,这里只是简写,有点糊涂了,请高手给与解释,谢谢。 --------------------编程问答-------------------- _Default 这个不就是类名称么....
其实是在执行_Default .say的 --------------------编程问答-------------------- 你的意思是要 new _Default().say();吗 --------------------编程问答--------------------
恭喜你,答对了! --------------------编程问答-------------------- 类中的方法 不是要被实例化才能调用吗,就是想知道 程序的入口 Page_Load()这个方法,中的say()的对象是谁? --------------------编程问答-------------------- 好問題,從來沒有想過為什麼調用自己類的方法,不需要實例化,想的挺深入的。
等解答。 --------------------编程问答-------------------- 引用百度的一段解答:
每种值类型均有一个隐式的默认构造函数来初始化该类型的默认值。
要么用new初始化化,相当于调用它的默认构造函数赋值为默认值,要么直接对他赋值初始化,例如常见的数组初始化。
用new初始化常常被误认为是实例化,其实不是,值类型的变量直接包含值,所谓使用变量是将一个值类型变量赋给另一个值类型变量,复制包含的值。
如果值变量不初始化,如何复制包含的值?
这与引用类型变量的赋值不同,引用类型变量的赋值只复制对象的引用,而不复制对象本身
--------------------编程问答-------------------- 我的理解是,因為有隱士構造函數的存在,
你在執行 page_load 之前,已經幫你實例化這個類了。 --------------------编程问答-------------------- Page页面的实例化是asp.net框架做的。
在类中调用自己类的成员函数,直接写函数名就可以了。 --------------------编程问答-------------------- 您讲page页面的实例化 是指 这个 public partial class _Default : System.Web.UI.Page
类吗? --------------------编程问答-------------------- 页面打开的时候 就走到这个pageload里面了,了解下asp.net页面生命周期 --------------------编程问答-------------------- 在同一个命名空间下而且还是同一个类下就更不用先实例化了 --------------------编程问答--------------------
这是一个很基础的概念啊。同学……你得补补基础知识了。 --------------------编程问答-------------------- 一个类,自己的方法中调用自己的另外一个方法,还需要实例化???
补充:.NET技术 , ASP.NET