麻烦您们帮我解决学习中的问题
发表在ASP.NET图书答疑 2009-08-06
是否精华
版块置顶:
[font size=5][font size=3]明日科技工作人员您们好,我够买了您们出版的“ASP.NET网络编程自学手册”一书。
遇到了不少困难,麻烦您们帮我解决,我是一给初学者,请您们讲的详细一点。谢谢! 
请看下面我写的程序:
文件:Default.aspx.cs
using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
public class Sqrt
{
    public Sqrt()
    {
    
    }
    public static void GetArea(double wa, double sd)
    {
        Page.Response.Write(wa * sd);
    }
}
public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {
        
        Page.Response.Write("问题");
        Sqrt.GetArea(2.11, 2.31);
    }
}
运行后出现下面错误:
【编译器错误消息: CS0120: 非静态字段、方法或属性“System.Web.UI.Page.Response.get”要求对象引用
源错误:
行 21:     public static void GetArea(double wa, double sd)
行 22:     {
行 23:         Page.Response.Write(wa * sd);
行 24:     }
行 25: }
 
源文件: f:\wxz\stady2\Default.aspx.cs    行: 23 】
1,我想问的是:
明明用到了命名空间System.Web.UI,里面的Page类访问级别是public
为什么在Sqrt类中不能直接使用Page.Response.Write()方法?而在继承自Page类的_Default类中却能直接使用?
 
2,后来我把“Page.Response.Write(wa * sd);”改成了:
                      Page p=new Page();
                      P.Response.Write(....);
 出现了下面的错误?
【异常详细信息: System.Web.HttpException: 响应在此上下文中不可用。
源错误: 

行 22:     {
行 23:         Page P = new Page();
行 24:        P.Response.Write(wa * sd);
行 25:                    
行 26:     }
 
源文件: f:\wxz\stady2\Default.aspx.cs    行: 24 】
3,最后我将"Page p=new Page();P.Response.Write(....);"改成“ Console.WriteLine(wa * sd);”
生成成功,但是页面上并没有输出wa与sd的积,这又是为什么?
4,我在APP_CODE文件夹里编了一个.CS文件,文件里面有主函数Main(),怎样在编辑器里调试?
再看下面一个程序:
public class AddStudent
{
    private static int count;
    private string name;
    public static int Count
    {
        get
        {
            return AddStudent.count;
        }
        set
        {
            AddStudent.count = value;
        }
    }
    public string Name
    {
        get
        {
            return this.name;
        }
        set
        {
            this.name=value;
        }
    }
    public AddStudent()
    {
        AddStudent.count++;
    }
}
public class College : AddStudent
{
    private string strName;
    public string Name
    {
        get
        {
            return this.strName;
        }
        set
        {
            if (value != "")
            {
                this.strName = value;
            }
        }
    }
  
}
运行之后出现警告:
“College.Name”隐藏了继承的成员“AddStudent.Name”。如果是有意隐藏,请使用关键字 new。”
后面这句“如果是有意隐藏,请使用关键字 new。”是什么意思?[/font][/font]
分享到:
精彩评论 1
Confidence2009
学分:0 LV1
2009-08-07
沙发
Console.WriteLine是C#控件台应用程序中用的输出语句;Response.Write是ASP.NETD页面中应用到的输出语句,你不要搞混了!
如果你声明的类为非静态,那么就要应用new关键字来给其分配内存,来显示地声明下,之后才可以应用其类中定义的方法、字段等。
首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照