日期:2014-05-18  浏览次数:20429 次

自定义控件必须放在App_Code里吗?
我写了个继承自WebControl的自定义控件(不是用户控件)。

C# code
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")
        {
            //
            //TODO: 在此处添加构造函数逻辑
            //
        }
        //...


我之前把它放在/App_Code里面,在网页上是这么注册和使用的
C# code
<%@ Register TagPrefix="uc" Namespace="Taopi.WebComponents" %>
...
<uc:RatingLabel Rating='<%# Eval("rating") %>' runat="server" />



现在我把它放到了/Components里面,结果注册和使用的代码就出错了,提示错误“未知的服务器标记uc:RatingLabel”

我有两个问题:
1、自定义控件必须放在App_Code里吗?如果放在别的地方,应该怎么注册和使用?
2、自定义控件一般(推荐)放在哪里?

------解决方案--------------------
这里有详细的介绍,点此
------解决方案--------------------
之前遇到过这个问题,研究了很久,最后觉得是只能放在app_code里,或者就集成到dll里面,就跟公用类一样