gee*_*vee 10 asp.net custom-controls parse-error extending-classes
我创建了一个简单的自定义控件,它只从Literal控件继承,并且还没有任何扩展,代码是空的.
命名空间:CustomControls
类名:Literal:System.Web.UI.WebControls.Literal
我接下来要做的是在aspx页面中注册此控件,如下所示:
<%@ Register TagPrefix="web" Namespace="CustomControls" %>
Run Code Online (Sandbox Code Playgroud)
(我在一些教程中读到这是注册它的方法之一,除了web.config等)
毕竟,对我来说没有任何意义,更糟糕的是 - 当我尝试运行带有控件的页面时,我得到一个解析错误'未知服务器标签:web'.
我使用'创建新项目'而不是新网站,以防需要此信息.
可能是我的问题?
提前致谢.
Pet*_*ter 27
这是我如何做到的,一步一步从无到有.第一种方法使用第二个项目/程序集.对于App_code版本向下滚动.
Web应用程序项目方法
为类防御添加类似于以下的代码:
namespace CustomControls
{
public class Literal : System.Web.UI.WebControls.Literal
{
}
}
Run Code Online (Sandbox Code Playgroud)将以下寄存器标记添加到aspx页面的顶部
<%@ Register assembly ="WebApplication2"namespace ="CustomControls"tagprefix ="web"%>
如果您的程序集名称不同,请在此处进行更改.我注意到,当我在VB.Net中执行此操作时,命名空间是WebApplication1.CustomControls,而不仅仅是像C#那样的CustomControls,有点奇怪.
将新控件添加到您的页面:
<web:Literal ID ="Literal1"runat ="server"Text ="test"/>
单独的项目方法
将一个新类添加到名为Literal的新项目中(我正在使用C#,因此我的文件名为Literal.cs).下面是我的超级基本代码,我认为应该与问题中描述的代码相匹配.
namespace CustomControls
{
public class Literal : System.Web.UI.WebControls.Literal
{
}
}
Run Code Online (Sandbox Code Playgroud)将CustomControls项目的引用添加到您的网站.
将程序集注册添加到aspx页面的顶部:
<%@ Register assembly ="CustomControls"namespace ="CustomControls"tagprefix ="web"%>
将新控件实例添加到您的页面:
<web:Literal ID ="Literal1"runat ="server"Text ="test"/>
在App_Code方法中
将新类添加到App_Code文件夹Literal2(我正在使用C#,因此我的文件名为Literal2.cs).下面是我的超级基本代码,我认为应该与问题中描述的代码相匹配.我将其称为2,以便您可以将此与上述方法结合使用而不会出现编译错误
namespace CustomControls
{
public class Literal2 : System.Web.UI.WebControls.Literal
{
}
}
Run Code Online (Sandbox Code Playgroud)通过在顶部添加以下行,在aspx页面中注册app_code的程序集/命名空间
<%@ Register Namespace ="CustomControls"Assembly ="__ code"tagprefix ="web"%>
将新控件的实例添加到您的页面:
<web:Literal2 ID ="literal2"runat ="server"Text ="test2"/>
我使用visual studio对它进行了测试,这对我来说都很好.
| 归档时间: |
|
| 查看次数: |
10840 次 |
| 最近记录: |