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领先研究>>一书,书中也和我好象一样得呀,为什么我的就不行呢?
而且这个组件用在应用程序中能正常查询出结果集,可是就是没法用到网页中来。
...全文
51 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧