“”应用程序中的服务器错误。未将对象引用设置到对象的实例。

“”应用程序中的服务器错误。未将对象引用设置到对象的实例。,第1张

点击开发环境-工具-选项-文本编辑器--C#--行号。选择显示行号。再打开你indexaspxcs文件的37行,这行肯定有个变量什么的是空,然后你引用了。所以出这个错误,你可在这设个断点查看

用户自定义控件是微软ASPNET中提供的用于实现内置 ASPNET Web 服务器控件未提供的功能的aspx文件(ascx),它基本上由已定义的服务器控件构成,在定义用户自定义控件后,可以通过将ascx文件鼠标拖放进aspx页面添加和使用它或者在aspx页面页面顶部加入以下页指令:
<%@ Register TagPrefix="uc1" TagName="UserControl1" Src="UserControl1ascx" %>
示例(MSDN):
下面的示例演示一个包含用户控件的 ASPNET 网页。该用户控件位于 Controls 文件夹的 Spinnerascx 文件中。在该页中,该控件将被注册使用前缀 uc 和 Spinner 标记名称。该用户控件的 MinValue 和 MaxValue 属性以声明方式设置。

Visual Basic 复制代码
<%@ Page Language="VB" %>
<%@ Register TagPrefix="uc" TagName="Spinner"
Src="~\Controls\Spinnerascx" %>
<html>
<body>
<form runat="server">
<uc:Spinner id="Spinner1"
runat="server"
MinValue="1"
MaxValue="10" />
</form>
</body>

C# 复制代码
<%@ Page Language="C#" %>
<%@ Register TagPrefix="uc" TagName="Spinner"
Src="~\Controls\Spinnerascx" %>
<html>
<body>
<form runat="server">
<uc:Spinner id="Spinner1"
runat="server"
MinValue="1"
MaxValue="10" />
</form>
</body>

ActiveX控件运行在客户端。我们可以获得客户端的一些信息,如IC卡的信息,客户端的验证等等。但是ActiveX控件也有许多缺点:客户端的部署很困难,如客户端不能正确下载,下载了以后不能正确执行,下载的时候需要设置IE的安全级别等等。
更多的时候,我都在使用COM组件来扩展ASP的功能。准确地说,是服务端运行的Activex Dll组件。使用ServerCreateObject(“工程名类名”)即可完成对组件的调用。这种方式问题很少,只要组件中以PUBLIC对外暴露方法既可。但是,有时候我们必须使用ACTIVEX 控件(OCX)嵌入到网页中执行来获取客户端的信息。这就有了许许多多的一些问题。
这是我们需要解决的N个问题(从简单到难)
1. 如何从服务端获取数据,传递到ActiveX控件中。
1) 初始化时使用参数绑定
2) 运行时得到数据
2. ActiveX控件得到客户端的信息,如何传递到服务端。
3. 安全性
1) 数字签名
2) 使用IOBJSAFE接口
好了,我们开始实例学习。
这个功能演示了如何制作一个简单的控件,并嵌入网页中执行。
工作环境:WINXP+VB6+IE6
我的IE安全设置为安全级别-中。所有的Activex选项设为启用。
打开vb6,新建ActiveX控件工程。
工程名:fOcx,用户控件名:UC1
为了方便,我们使用ActiveX控件接口向导…,菜单->外接程序->外接程序管理器->VB 6 ActiveX控件接口向导。确定即可。
打开ActiveX控件接口向导,下一步,对于可用名称和选定名称我们默认下一步,新建自定义成员,GetInfo类型:属性,下一步,共有方法中选择我们刚才添加的GetInfo,映射到控件选择TxtInfo,成员选择Text,下一步直到完成。代码窗口中会生成一些我们不需要的,删除,剩下的代码如下:
Option Explicit
'注意!不要删除或修改下列被注释的行!
'MappingInfo=txtinfo,txtinfo,-1,Text
Public Property Get GetInfo() As String
GetInfo = txtinfoText
End Property
Public Property Let GetInfo(ByVal New_GetInfo As String)
txtinfoText() = New_GetInfo
PropertyChanged "GetInfo"
End Property
'从存贮器中加载属性值
Private Sub UserControl_ReadProperties(PropBag As PropertyBag)
txtinfoText = PropBagReadProperty("GetInfo", "Text1")
End Sub
'将属性值写到存储器
Private Sub UserControl_WriteProperties(PropBag As PropertyBag)
Call PropBagWriteProperty("GetInfo", txtinfoText, "Text1")
End Sub
OK,好了,我们编译成fOcxocx文件,然后F5直接运行,VB会打开一个测试页。如下:
E:\Program Files\Microsoft Visual Studio\VB98\UC1html
同时,打开你的IE浏览器,看到了吧,你做的控件出现在了这个测试页中。
你可以打开测试页,可以看到ClsID,比如:890D1028-298B-45CF-9A64-6ED5A5BACBC9
因为VB编译的时候已经完成注册所以无法模拟客户端没有安装该控件时出现的提示
我们继续
使用regsvr32 F:\csdn_vb\com+_activeX\sample1\fOcxocx –u卸载
或者
打开注册表,在HKEY_CLASSES_ROOT\CLSID下面找到
890D1028-298B-45CF-9A64-6ED5A5BACBC9项,删除之,当然这种方式还有项存在而没有删除干净
此时浏览>不会吧先检查一下你安装你那个72版本是否已经包含UC了貌似没装UC是装不了DZ的若真的没有的话,那就安装UC,然后再管理应用里选择链接自定义安装方法了,即填上DZ的一些配置

第一步是选择一台电脑做服务器,然后架设并配置好。
第二步是把其他电脑的hosts文件做个指向,即指向本地的那个服务器IP。
hosts文件地址是:%SystemRoot%\system32\drivers\etc\
最后加一条记录,类似于
19216811 >

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/12941609.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-28
下一篇2025-08-28

发表评论

登录后才能评论

评论列表(0条)

    保存