加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

ASP.NET C#中的自定义控件

发布时间:2020-12-15 20:23:26 所属栏目:asp.Net 来源:网络整理
导读:我创建了一个简单的自定义控件,它只继承Literal控件,并且没有任何扩展,代码是空的. 命名空间:CustomControls 类名:Literal:System.Web.UI.WebControls.Literal 接下来我要做的是在aspx页面注册这个控件如下: %@ Register TagPrefix="web" Namespace="Cus
我创建了一个简单的自定义控件,它只继承Literal控件,并且没有任何扩展,代码是空的.

命名空间:CustomControls

类名:Literal:System.Web.UI.WebControls.Literal

接下来我要做的是在aspx页面注册这个控件如下:

<%@ Register TagPrefix="web" Namespace="CustomControls" %>

(我读了几个教程,这是注册它的方法之一,除了web.config等)

毕竟,对我来说没有智慧,更糟糕的是,当我尝试用它中的控件来运行页面时,我得到一个解析错误’unknown server tag:web’.

我使用“创建新项目”而不是新的网站,以防这种信息需要.

什么可能是我的问题?

提前致谢.

解决方法

这是我怎么做,一步一步从没有.这第一个方法使用第二个项目/程序集.对于App_code版本向下滚动.

Web应用程序项目方法

>创建一个新的ASP.Net Web应用程序.记下这个名字,我的名字叫做WebApplication2.如果您已经有一个现有的Web应用程序,这可能是双击项目的属性部分,并检查“组件名称”属性,记下它.
>在名为Literal.cs的Web应用程序中创建一个新的类
>将类似于以下类的代码放入类defenition中:

namespace CustomControls
{
    public class Literal : System.Web.UI.WebControls.Literal
    {
    }
}

>将以下注册标签添加到aspx页面顶部

<%@ Register assembly =“WebApplication2”namespace =“CustomControls”tagprefix =“web”%>

如果您的程序集名称不同,请在此处更改.我注意到,当我在VB.Net中这样做时,命名空间是WebApplication1.CustomControls,而不是像C#中的CustomControls一样,很奇怪.

>将新控件添加到您的页面:

< web:Literal ID =“Literal1”runat =“server”Text =“test”/>

分项目方法

>创建一个新的空的网站(ASP.Net).
>为解决方案添加一个名为CustomControls的新ASP.Net服务器控件库.
>添加一个新的类到名为Literal的新项目(我使用C#,所以我的文件名为Literal.cs).以下是我的超级基本代码,我相信应该匹配问题中描述的代码.

namespace CustomControls
{
    public class Literal : System.Web.UI.WebControls.Literal
    {
    }
}

>将CustomControls项目的引用添加到您的网站.
>将组件注册添加到aspx页面顶部:

<%@ Register assembly =“CustomControls”namespace =“CustomControls”tagprefix =“web”%>
>将新的控件实例添加到您的页面:

< web:Literal ID =“Literal1”runat =“server”Text =“test”/>

在App_Code方法

>创建一个新的空的网站(ASP.Net).
>添加一个新的类到App_Code文件夹Literal2(我使用C#,所以我的文件名为Literal2.cs).以下是我的超级基本代码,我相信应该匹配问题中描述的代码.我打电话给它2,所以你可以结合上面描述的方法,而不会得到编译错误

namespace CustomControls
{
    public class Literal2 : System.Web.UI.WebControls.Literal
    {
    }
}

>在aspx页面中注册app_code的程序集/命名空间,将以下行添加到顶部

<%@ Register Namespace =“CustomControls”Assembly =“__ code”tagprefix =“web”%>
>将新控件的实例添加到您的页面:

< web:Literal2 ID =“literal2”runat =“server”Text =“test2”/>

我使用视觉工作室测试了这一切,这一切对我来说都很好.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读