以下代码是本人从winform代码改来的,不知为什麽报错,请高手指点!
public class start : System.Web.UI.Page
{
public System.Web.UI.WebControls.Label Label1;

private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
Employee E=new Employee("xxx",0,0);
WorkeEmp W=new WorkeEmp("Mary",19980101,500);
E=W;
E.Raise(0.05);
Response.Write("该员工的工资情况为:");
E.Print();
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{    
this.Load += new System.EventHandler(this.Page_Load); }
#endregion}
}
public class Employee: start
{
private string name;
private long idcard;
private double salary;
private double increase;
public start start1=new start();
public Employee()
{
}
public Employee(string n,long i,double m)
{
name=n;
idcard=i;
salary=m;
}

public string Name
{
get{return name;}
set{name=value;}
}
public double Salary
{
get{return salary;}
set{salary=value;}
}
public new long ID
{
get{return idcard;}
set{idcard=value;}
}
public double Increase
{
get{return increase;}
set{increase=value;}
}
public void Print()
{
Response.Write(string.Format("姓名:{0}",name));// 错误:响应在此上下文中不可用。 Response.Write(string.Format("身份证号:{0}",idcard));
Response.Write(string.Format("基本工资:{0:c}",salary));
Response.Write(string.Format("增加工资额:{0:c}",increase));
}
public virtual void Raise(double percent)
{
increase=percent*salary;
}
}
在Employee类的Print()方法中报错,该程序还有一个WorkeEmp类,未贴。

解决方案 »

  1.   

    不是很明白,
    我想你大楷不是很明白Response.Write的用法!!
      

  2.   

    Response.Write是不是有使用范围限制,在继承类中无法使用?
      

  3.   

    Response.Write是不是有使用范围限制,在继承类中无法使用?
      

  4.   

    System.Web.HttpContext.Current.Response
      

  5.   

    问你一个题外话,这是什么意思public start start1=new start();???E=W;?
      

  6.   

    上一行是创建对象语句,前面的public是我自己加的,不过没报错。
    下一行是为体现多态性,最后结果应调用WorkeEmp类中的Raise方法。
    listhome(不想睡) :我对多态性理解不深,你有什么好的见解?