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
에 배치하고, 웹 페이지에 다음과 같이 등록 및 사용 : 나는 /Components
에 RatingLabel를 이동시킬 때까지
<%@ Register TagPrefix="uc" Namespace="Taopi.WebComponents" %>
...
<uc:RatingLabel Rating='<%# Eval("rating") %>' runat="server" />
그들은 잘 실행 날에 의해 cerated 폴더이다. 웹 사이트를 실행하려고하면 "알 수없는 서버 태그 uc : RatingLabel"이라고 말하면 오류가 발생합니다.
나는 등록이 잘못되었다고 생각하므로 어떤 수정이 필요합니까? 사용자 지정 컨트롤을 App_Code에 두어야합니까?
외부의 DLL을 참조하는 것을 제외하고 일반적으로 어디에서 사용자 지정 컨트롤을 배치합니까? "추천"위치가 있습니까?
귀하의 통찰력에 감사드립니다. 필자가 작곡하는 웹 사이트는 작기 때문에 다른 프로젝트를 만드는 것은 너무 힘들어 보인다. 사용자 지정 컨트롤을 App_Code에 배치해야하므로 최소한 두 개의 폴더/App_Code/WebControls를 만들어 사용자 지정 컨트롤을 배치하고 코드 숨김에 필요한 클래스를 배치하는/App_Code/Business라고하는 것이 좋습니다. – Gqqnbig
네, 그렇게하면 더 가벼워 질 것입니다. 그러나 "클래스 라이브러리"프로젝트를 추가하는 것은 매우 쉽습니다 (파일/추가/새 프로젝트 - 클래스 라이브러리 유형 선택). 그런 다음 기존 프로젝트에서 참조를 추가하면이 프로젝트를 다른 웹 사이트에서도 참조 할 수 있습니다. –