gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 02:38:18 25 4
gpt4 key购买 nike

我创建了一个简单的自定义控件,它只继承自 Literal控制,还没有任何扩展,代码是空的。

命名空间:自定义控件

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

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

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

(我在一些教程中读到这是注册它的方法之一,除了 web.config 等。)

毕竟,对我来说没有智能,更糟糕的是 - 当我尝试运行带有控件的页面时,我收到解析错误“未知服务器标记:web”。

我使用“创建新项目”而不是新网站,以防需要此信息。

我的问题可能是什么?

提前致谢。

最佳答案

这是我如何做到的,一步一步从无到有。第一种方法使用第二个项目/程序集。对于 App_code 版本向下滚动。

Web应用项目方法

  • 创建一个新的 ASP.Net Web 应用程序。注意名字,我的叫做WebApplication2。如果您已经有一个现有的 Web 应用程序,这很可能,双击您项目的属性部分并检查“程序集名称”属性,记下它。
  • 在名为 Literal.cs 的 Web 应用程序中创建一个新类
  • 为类定义输入类似于以下的代码:
    namespace CustomControls
    {
    public class Literal : System.Web.UI.WebControls.Literal
    {
    }
    }
  • 将以下 register 标记添加到 aspx 页面的顶部

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

  • 如果您的程序集名称不同,请在此处更改。我注意到,当我在 VB.Net 中执行此操作时,命名空间是 WebApplication1.CustomControls 而不是像在 C# 中那样只是 CustomControls,有点奇怪。
  • 将新控件添加到您的页面:


  • 单独项目方法
  • 创建一个新的空网站 (ASP.Net)。
  • 将名为 CustomControls 的新 ASP.Net 服务器控件库添加到解决方案中。
  • 向名为 Literal 的新项目添加一个新类(我使用的是 C#,因此我的文件名为 Literal.cs)。下面是我的 super 基本代码,我认为应该与问题中描述的代码相匹配。
    namespace CustomControls
    {
    public class Literal : System.Web.UI.WebControls.Literal
    {
    }
    }
  • 向您的网站添加对 CustomControls 项目的引用。
  • 将程序集注册添加到 aspx 页面的顶部:

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


  • 在 App_Code 方法中
  • 创建一个新的空网站 (ASP.Net)。
  • 向 App_Code 文件夹 Literal2 添加一个新类(我使用的是 C#,因此我的文件名为 Literal2.cs)。下面是我的 super 基本代码,我认为应该与问题中描述的代码相匹配。我称它为 2 以便您可以将其与上述方法结合使用而不会出现编译错误
    namespace CustomControls
    {
    public class Literal2 : System.Web.UI.WebControls.Literal
    {
    }
    }
  • 通过将以下行添加到顶部,在 aspx 页面中为 app_code 注册程序集/命名空间

    <%@ Register Namespace="CustomControls"Assembly="__code"tagprefix="web"%>
  • 将新控件的实例添加到您的页面:


  • 我使用 Visual Studio 对此进行了测试,对我来说一切正常。

    关于asp.net - ASP.NET C# 中的自定义控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3003343/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com