首先我在类(Class1.cs)里实例化了一个page类
public class Class1
{
public Class1()
{
//
// TODO: 在此处添加构造函数逻辑
//
} public static void o(string str)
{
System.Web.UI.Page ps = new System.Web.UI.Page();
ps.Response.Write(str);
}
} ==============================================然后在WebForm1.aspx.cs里pageload事件里这样的写private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
Class1.o("hello");
}
=================================================
结果出现错误,错误信息是这样写的异常详细信息: System.Web.HttpException: 响应在此上下文中不可用。
public class Class1
{
public Class1()
{
//
// TODO: 在此处添加构造函数逻辑
//
} public static void o(string str)
{
System.Web.UI.Page ps = new System.Web.UI.Page();
ps.Response.Write(str);
}
} ==============================================然后在WebForm1.aspx.cs里pageload事件里这样的写private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
Class1.o("hello");
}
=================================================
结果出现错误,错误信息是这样写的异常详细信息: System.Web.HttpException: 响应在此上下文中不可用。
{
//System.Web.UI.Page ps = new System.Web.UI.Page();
ps.Response.Write(str);
}Class1.Write(this, "Hello")
类里是
public class PublicFunction
{
private System.Web.UI.Page _page;
public System.Web.UI.Page page{set{_page = value;}get{return _page;}} public PublicFunction(System.Web.UI.Page Page)
{
//
// TODO: 在此处添加构造函数逻辑
//
_page = Page;
debug("初始化通用过程函数类"); } #region 输出类函数 #region 基本输出
public void o(string str)
{
page.Response.Write (str);
}
#endregion
===============================
现在类里只要出现request、response、session等我就用了page这个属性
================================
aspx后台onload事件这样写
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
PublicFunction f = new PublicFunction(Page);
f.page = Page;
f.o("hello");
}这样可以正常运行response了.可是这样似乎有点取巧..
请问有没有更好的办法
{
public Class1()
{
//
// TODO: 在此处添加构造函数逻辑
//
}public static void o(string str)
{
this.Context.Current.Response.Write(str);
}
}
试试这样写
{
public Class1()
{
//
// TODO: 在此处添加构造函数逻辑
//
}public static void o(string str)
{
this.Context.Current.Response.Write(str);
}
}
试试这样写
这样写的话不觉得很烦吗?
如果我的类里要大量用到page的一些属性(比如request,session,response..)
那不是每一次用的时候都要写这么长一串.
这也是我要实例化page的原因..我本来就是这样写的..
{
//System.Web.UI.Page ps = new System.Web.UI.Page();
ps.Response.Write(str);
}Class1.Write(this, "Hello")
最后一句也可:
Class1.Write(this.Page, "Hello")
HttpContext context = HttpContext.Current;然后以后就:
context.Response、context.Session等等了啊……