1
我寫了一個從WebControl繼承的自定義控件。 (注意:不是用戶控件)。必須將自定義控件放置在App_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")
{ }
//...
我把它放在/App_Code
,並在網頁上它被註冊和使用如下:
<%@ Register TagPrefix="uc" Namespace="Taopi.WebComponents" %>
...
<uc:RatingLabel Rating='<%# Eval("rating") %>' runat="server" />
他們跑得很好,直到我謹RatingLabel到/Components
,這是我塗蠟文件夾。當我嘗試運行該網站時,出現錯誤「未知服務器標籤uc:RatingLabel」。
我認爲註冊是錯誤的,所以需要進行哪些修改?必須將自定義控件放置在App_Code中嗎?
我還有一個問題,你通常在哪裏放置自定義控件(引用外部DLL除外)?有沒有「建議」的地點?
感謝您的見解。由於我寫的網站很小,創建另一個項目看起來太麻煩了。由於自定義控件必須放置在App_Code中,我認爲最好創建至少兩個文件夾/ App_Code/WebControls,這些文件夾會放置自定義控件,並說/ App_Code/Business,它放置代碼隱藏所需的類。 – Gqqnbig 2012-03-17 16:28:44
是的,這將保持整潔。但是,添加「類庫」項目非常簡單(文件/添加/新建項目 - 選擇類庫類型,然後從現有項目中添加對其的引用,然後您可以從其他網站中引用此項目。 – 2012-03-17 16:30:29