asp.net中如何引用自己写的C#组件,挑战各位高手或哪位冠军(也许吧)

whedward 2001-07-28 09:59:26
用C#写了一个组件,
namespace mynamespace
{
public class myclass
{
.....
}
}
在aspx文本中写了
<%@ Import namespace="mynamespace"%>
可是在什么时候产生自己的组件的实例呢?
使一个客户的各个页面之间共享这个实例呢

可是实际效果如下:
原代码如下:
在所有函数外写了:Myclass myobjct;
然后:
void Page_Load(object s,EventArgs E){
if(!Page.IsPostBack){
myobject=new Myclass();
ArrayList mylist=new ArrayList();
mylist.Add(myobjec.Item1);
mylist.Add(...);
...
myDropDownList.DataSource=mylist;
myDropDownList.DataBind();
//以上是第一段
//以下是第二段
DataTable mydatatable=myobject.GetDataTable();//此函数返回一个DataSet中的一个表;
myDatagrid.DataSource=mydatatable.DefaultView;
myDatagrid.DataBind();
}
}
以上第一段能正常运行,可是一到第二段用myobject.GetDataTable()时就出了以下的错误提示:
Exception Details: System.NullReferenceException: Attempted to dereference a null object reference.
错误发生在这个函数的调用上,
如果注销这个函数的调用 ,而在别的函数中用到myobject的函数时都出上面同样的问题。这也许是页面中应该有一个公共的myobject,可是我注销别的所有的myobject的应用,只留下第一段中的myobject.Item1属性的应用,试过,只是有一个又象,也就是说一个页面中多次Pagepostback也能用第一次生成的对象,而且看到的对象产生的数量也就是一个,所以应该没问题的呀。
对于用Cache实现实例的共享也不过是为了在多个页面中共用同一个对象呀,目前不是已有了这个结果吗?对于 Cache实现实例共享是不是能在多个页面中实现呀?
而对于用session好象没用过来产生这种对象实例的。昨天就试过,还是一样的错误提示。
而且今天买了"王国荣"先生的<<ASP.NET领先研究>>一书,书中也和我好象一样得呀,为什么我的就不行呢?
而且这个组件用在应用程序中能正常查询出结果集,可是就是没法用到网页中来。
...全文
27 点赞 收藏 回复
写回复
回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复

还没有回复,快来抢沙发~

相关推荐
发帖
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2001-07-28 09:59
社区公告
暂无公告