我写了一个从WebControl继承的自定义控件。 (注意:不是用户控件)。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI.WebControls;
namespace Taopi.WebComponents
{
public class RatingLabel : WebControl
{
public RatingLabel()
: base("span")
{ }
//...
我将其放在/App_Code
中,并在网页上注册并使用如下:
<%@ Register TagPrefix="uc" Namespace="Taopi.WebComponents" %>
...
<uc:RatingLabel Rating='<%# Eval("rating") %>' runat="server" />
他们一直运行良好,直到我将RatingLabel移动到/Components
,这是我的文件夹。当我尝试运行网站时,我收到错误消息“未知服务器标记uc:RatingLabel ”。
我认为注册错误,需要进行哪些修改?必须将自定义控件放在App_Code中吗?
我有另一个问题,你通常放置自定义控件在哪里(除了引用外部DLL)?有没有“建议”的位置?
答案 0 :(得分:0)
我之前遇到过这种情况。我发现你可以在AppCode文件夹之外存储代码的唯一方法是按照你的建议添加一个“类库”项目或外部DLL(无论如何,这是我首选的方法,因为它可以在多个项目中使用)。
或者,如果您使用“Web应用程序”项目类型而不是“网站”项目,则可以将代码存储在任何位置。