나는 ASP.NET 웹 사이트이 아닌 웹 응용 프로그램을 가지고 있고, 나는 그것이 자신의 명명 컨테이너의 외부 점점 할 수있어 사용자 정의 CompareValidator
구축했습니다 :ASP.NET 웹 사이트에서 사용할 수있는 사용자 지정 컨트롤을 얻는 방법?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI.WebControls;
using System.Web.UI;
public class GlobalCompareValidator : CompareValidator
{
new protected void CheckControlValidationProperty(string name, string propertyName)
{
Control control = this.Page.NamingContainer.FindControl(name);
if (control == null)
{
throw new HttpException("Validator_control_not_found");
}
if (BaseValidator.GetValidationProperty(control) == null)
{
throw new HttpException("Validator_bad_control_type");
}
}
}
을 그 코드는 App_Code
디렉토리에 존재 . 지금, 나는이 같은 ASCX 페이지에 새로운 사용자 지정 컨트롤을 사용하려면 : 어셈블리를 등록 할 때
<me:GlobalCompareValidator ID="compareValidator" CssClass="errorMessage" Display="None"
EnableClientScript="false" Text=" " ValidationGroup="LHError" runat="server" />
을하지만,이 기능을 사용하려면
<%@ Register TagPrefix="me" Namespace="MyNamespace" Assembly="MyAssembly" %>
나는이 오류가 발생합니다 :
를Could not load file or assembly '...' or one of its dependencies. The system cannot find the file specified.
지금은입니다. ASP.NET 웹 사이트가 실제로 이와 같은 어셈블리를 생성하지 않기 때문에 전혀 놀라운 것이 아닙니다. 그러나 Assembly
태그를 끈 상태로두면 GlobalCompareValidator
을 찾을 수 없습니다. 물론 Assembly
태그 중 하나를 사용하여 찾을 수는 없지만 해당 오류는 어셈블리를 찾을 수 없다는 사실 때문에 숨겨져있을 가능성이 큽니다.
전 세계에서 ASP.NET 웹 사이트에서 사용할 수있는 사용자 지정 컨트롤을 어떻게 구할 수 있습니까? 당신은 UserControl을 포함하는 경우 SRC-속성에만 필요합니다 사용자 정의 컨트롤
포함 UserControl이
- :