用户控件无法声明问题找不到答案!!

poopin 2005-03-29 09:48:11
header.ascx

<%@ control language="c#" src="header.ascx.cs" AutoEventWireup="false" Inherits="PooPinGbook.header" %>
..........

============
header.ascx.cs

namespace PooPinGbook
{
using System;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;


/// <summary>
/// header1 的摘要说明。
/// </summary>
public class header : System.Web.UI.UserControl
{
..............
}
}
===============================================
page1.aspx

<%@ Page language="c#" Codebehind="page1.aspx.cs" src="page1.aspx.cs" AutoEventWireup="false" Inherits="PooPinGbook.page1" %>
<%@ Register TagPrefix="uc" TagName="header" src="header.ascx" %>

<uc:header id="head" runat="server" />

================================================================
page1.aspx.cs

using System;
using System.Data;
using System.Data.OleDb;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
using PooPinGbook;

namespace PooPinGbook
{
public class page1 : System.Web.UI.Page
{
protected header head;

..................

}
}
==============================================================

这样的代码结构,提示
CS0246: 找不到类型或命名空间名称“header”(是否缺少 using 指令或程序集引用?)
否缺少程序集引用?)

有人遇到过嘛,怎么解决的?
...全文
126 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Firestone2003 2005-03-30
  • 打赏
  • 举报
回复
using BSSystem.files.modules;

public LXXZ LXXZ1;
LXXZ1=(LXXZ)LoadControl("../modules/LXXZ.ascx");
LXXZ1.ID="LXXZ1";
PlaceHolder1.Controls.Add(LXXZ1);
这个是我做的并且测试通过的
poopin 2005-03-30
  • 打赏
  • 举报
回复
找到这么一段话:

创建了一个*.ascx的用户控件。此控件是复合了一些服务器控件。
在此用户控件中,我暴露了一些属性和方法。但当我在页面时把此用户控件拖放到页面上后,后台代码中却无法设定此用户控件的属性与方法。对此,资料上的解释是由于此用户控件是即时编译的,也就是说用户控件本身的类还没有被编译,所以.NET框架在编译期无从知道该控件的任何信息,因此必须使用反射机制来发现用户控件的类型并暴露其属性和方法。
如果用户控件是预编译的,也就是此用户控件已经被编译成dll并放在程序的/bin文件夹中时,就可以在程序里直接调用其属性与方法,而不必通过反射的机制。
poopin 2005-03-30
  • 打赏
  • 举报
回复
我编译过的,也不行,如果要要编译的话那这和自定义控件有什么区别了,和做成控件程序集就一样了。不解啊。。。
n10z 2005-03-30
  • 打赏
  • 举报
回复
是这样的,如果在ASPX页里直接写代码,是不会错的,但是一用到代码分离就不成了,刚才我用vs.net写了一个,是通过了,似乎把控件编译过以后,就可以了,具体的我再研究研究,我考虑是否在vs.net里,把控件编译了,再直接用记事本能写得出来...
poopin 2005-03-30
  • 打赏
  • 举报
回复
就是啊,我弄了两天也搞懂是什么问题。
n10z 2005-03-30
  • 打赏
  • 举报
回复
可怜,跟我一样的问题,发帖两天了,还是没人能解决...
poopin 2005-03-30
  • 打赏
  • 举报
回复
版本信息: Microsoft .NET Framework 版本:1.1.4322.573; ASP.NET 版本:1.1.4322.573
poopin 2005-03-30
  • 打赏
  • 举报
回复
你那个试过了,还是不行,总是提示找不到header这个东西,或者提示找不到head。
是否和.net的版本有关?我是win2000在线升级来的安装的最新版的。
poopin 2005-03-30
  • 打赏
  • 举报
回复
谢谢,笨笨小猪,不过不知怎么搞的,我这里问题依旧。
Firestone2003 2005-03-29
  • 打赏
  • 举报
回复
那你试一试
head=(header)this.FindControl("head");
poopin 2005-03-29
  • 打赏
  • 举报
回复
一定要用代码方式添加控件嘛?

我这种方法为什么不行?不是说可以象服务器控件一样使用用户控件的嘛?
Firestone2003 2005-03-29
  • 打赏
  • 举报
回复
不是这么用的
应该这样
Control c1 = LoadControl("MyUserControl.ascx");
((MyUserControl)c1).BackColor = "beige";
Page.Controls.Add(c1);

62,266

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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