我创建了一个web control控件,在控件有几个textbox用作输入用,也同时创建了关联到textbox的property,在主页面中用如下代码进行了引用:
<%@ Register TagPrefix="UserInfo" TagName="Entry" Src="UserEntry.ascx" %>
...
...
<form id="form1" runat="server>
<UserInfo:Entry id="UserInfoEntry" runat="server" />
<asp:Button id="Button1" runat="server" Text="Submit" />
</form>
...
...但是我在调用页面的布局画面双击,进入到代码窗口,想在页面Page_Load事件输入调用此Web Control的代码时,却始终提示[名称“UserInfoEntry”未声明],请问原因为何,如何修正,谢谢?
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If IsPostBack Then
Response.WriteFile("Your name: " & UserEntry.username & "<br>")
End If
End Sub
<%@ Register TagPrefix="UserInfo" TagName="Entry" Src="UserEntry.ascx" %>
...
...
<form id="form1" runat="server>
<UserInfo:Entry id="UserInfoEntry" runat="server" />
<asp:Button id="Button1" runat="server" Text="Submit" />
</form>
...
...但是我在调用页面的布局画面双击,进入到代码窗口,想在页面Page_Load事件输入调用此Web Control的代码时,却始终提示[名称“UserInfoEntry”未声明],请问原因为何,如何修正,谢谢?
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If IsPostBack Then
Response.WriteFile("Your name: " & UserEntry.username & "<br>")
End If
End Sub
解决方案 »
- 获取gridview中的数据集赋给dataset
- javascript得到ASP.NET服务器控件中的值
- ajax请求没反应
- asp.net2.0中母版的问题,请大家进来看一眼吧,谢谢了!!
- 各位听说VS2003中有自带的MD5算法,谁知道怎么用吗?还有Web.config上传服务器的时候怎么配置是最好的呢?
- 如何转换日期(vb)
- 在ASP中如何生成excel格式报表?
- 实现输入简体,自动转为繁体,在网上找了段代码,如何加入代码中转换“关键字”输入框
- 关于MVC架构开发中大型系统的问题
- 如何制作ASP的安装程序
- 请问这个xml如何编写xslt让它正常显示?
- 这到底是什么原因呀!我是个.net的菜鸟
还应实例化才行,否则会报错。可能是由于IDE出错而导致未自动生成代码。可将控件删除后重新添加来恢复。
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="TestWebControl.aspx.vb" Inherits="aspnetWeb.TestWebControl"%>
<%@ Register TagPrefix="UserInfo" TagName="Input" Src="webControl.ascx" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>TestWebControl</title>
</HEAD>
<body>
<form id="Form1" method="post" runat="server">
<P>
<UserInfo:Input id="UserEntry" runat="server" /></P>
<P>
<asp:Button id="Button1" runat="server" Text="Submit"></asp:Button></P>
</form>
</body>
</HTML>引用页面代码(VB部分)
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'在此处放置初始化页的用户代码
If IsPostBack Then
Response.WriteFile("Your name: " & userentry.UserName & "<br>")
Response.WriteFile("Your Address: " & userentry.UserAddress & "<br>")
Response.WriteFile("Your tel: " & userentry.UserTel & "<br>")
Response.WriteFile("Your mail: " & userentry.UserMail & "<br>")
End If
End Sub
添加:
protected 你的用户控件在页面上的ID as 你的用户控件类名(如果命名空间不同,你需要引用该命名空间)
请部是不是一定要Protected才可以呢?请再指教,不胜感激!
Protected WithEvents UserInfoEntry as aspnetWeb.webControl别忘记你这是和ASP控件一样使用的,所以定义方式也应该一样。